algorithm - Tarjan 算法中的交叉链接

标签 algorithm graph tarjans-algorithm

我正在阅读 Tarjan's paper on scc .

在论文中,给定顶点的lowlink定义为:

LOWLINK (v) is the smallest vertex which is in the same component as v and is reachable by traversing zero or more tree arcs followed by at most one frond or cross-link.

我想不出任何情况下给定 scc 中的两个顶点通过 交叉链接边缘,因为整个 scc 应该在 dfs 搜索派生的一棵树中。谁能稍微解释一下?

最佳答案

这个想法很简单:

您在遍历图形时为图形编制索引,当您从递归返回时,为每个节点记下从中可以到达的最小索引。要达到低于指定节点已有的索引,必须有一个交叉链接或叶链接。因为当你到达一个索引较低的尚未打开的节点时,这意味着你在同一个 scc 中找到了一个节点,很容易理解,所有具有相同 lowlink 的节点都在同一个组件中( visualization of the algorithm )。

关于algorithm - Tarjan 算法中的交叉链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14690625/

相关文章:

algorithm - 用于 SCC 最坏情况分析的 Tarjan 算法

c++ - 对于需要精度的定点,最好的乘法算法是什么

java - 使用队列的树的最大深度

java - 检测图中的奇点

python - Tarjan 算法 - Python 到 scala

c++ - 为什么算法在第一个条件后结束?

algorithm - 在未排序数组的给定范围内查找最大元素[允许预处理]?

excel - 使用 vba 宏以编程方式将彩色垂直带添加到 Excel 图表

javascript - D3 - 部分力导向图