“Low link研究无向 DFS 子树能否经回边到达祖先,semidominator 研究有向 flow graph 中受 DFS 编号约束的路径;公式外观相似但对象完全不同。若只需迭代数据…”
形式陈述 ​
Low-link 不是一个跨问题完全统一的对象。
在无向图割点/桥算法中,
直觉
Low-link 值概括 DFS 子树能否绕过父边,并通过至多一条返祖边“向上逃回”到某个最早发现时间。它把许多后代的回边信息向父节点聚合,使“删掉父边后子树还能否回到祖先”变成一个整数比较。无向图的桥/割点与有向图 Tarjan SCC 都使用类似记号,但更新规则不同,不能共享一段未经区分的代码。
例子与边界
无向图中遇到已访问邻点时必须排除当前父边的对应边;多重边会使“按父顶点排除”出错,应按边 ID 处理。不能把 SCC lowlink 的栈条件省略。
无向 DFS 中,树边
遇到父边不能按普通已访问边更新 low,平行边场景还需用边 ID 区分“那一条父边”和另一条返边。有向 SCC 算法只用指向当前栈内顶点的边更新,指向已出栈分量的边不应影响 low。
推论与应用
它统一解释桥、割点、边双连通分量和 Tarjan SCC 的关键不变量,同时明确这些算法不可混用的边界。
深度优先搜索 提供树与发现时间,图 和 有向图 产生不同版本。它支撑桥、割点、双连通分量和 强连通分量 的线性时间算法。
Low-link 值依一次静态 DFS 树及未更新边集。全动态连通在边插删后维护生成森林和替代边,不能局部改几个 low 值继续使用原 DFS。Dominator Tree / Lengauer–Tarjan也使用 DFS 编号和半支配量,但解决有向流图“所有入口路径必经”关系,不是 low-link 在有向图上的直接推广。
参考资料
- Jeff Erickson, Algorithms (2019/2026 notes), depth-first search and low-link ideas.
- OI-Wiki contributors, OI-Wiki (2026), low-link, bridges, articulation points, SCC.