algorithm - 最低共同祖先算法的实际应用是什么?

标签 algorithm tree least-common-ancestor

<分区>

我正在看 this question然后阅读 Tarjan's least common ancestors algorithm .我以前从未接触过 LCA 算法的任何应用。

这种LCA算法一般用在什么地方?

最佳答案

在编译器中,两个基本 block 的 LCA 是一个可以放置计算的地方,因此它对两者都可用。这对于消除公共(public)子表达式或插入 phi 节点以进行 SSA 转换可能很有用。不过,这些算法经过了很好的发展和高度优化,因此 LCA 本身可能很难看到,例如 SSAPRE

关于algorithm - 最低共同祖先算法的实际应用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542452/

相关文章:

algorithm - 单位长度闭区间

algorithm - 在线性时间内找到树中每个节点的最左边的子节点?

c - 有没有更好的方法来找到最低共同祖先?

c++ - LCA 后代节点

algorithm - 图遍历 - 为 2 个实体找到 2 条最短路径,使它们永远不会接触(都在同一节点)

java - 扭曲的垃圾箱包装?

algorithm - 将无向图转换为带约束的有向图

c - 在c中填充二叉树函数

algorithm - 具有索引叶的树中的路径

algorithm - 在二叉树中找到最不常见的 parent ?