Skip to content

Low-link 值

Low-link value · Lowlink

DFS 子树通过树边和受允许的返祖边能够到达的最早发现时间摘要。

条目类型
定义

形式陈述

Low-link 不是一个跨问题完全统一的对象。 在无向图割点/桥算法中,low[v] 是从 v 的 DFS 子树经若干树边再至多一条返祖边可达的最小发现时间。 在 Tarjan 强连通分量算法中,lowlink 只考虑仍在栈中的活动顶点。两种递推相似,但允许的边与语义不同。

直觉

Low-link 值概括 DFS 子树能否绕过父边,并通过至多一条返祖边“向上逃回”到某个最早发现时间。它把许多后代的回边信息向父节点聚合,使“删掉父边后子树还能否回到祖先”变成一个整数比较。无向图的桥/割点与有向图 Tarjan SCC 都使用类似记号,但更新规则不同,不能共享一段未经区分的代码。

Low-link 回传与桥判据
例子与边界

无向图中遇到已访问邻点时必须排除当前父边的对应边;多重边会使“按父顶点排除”出错,应按边 ID 处理。不能把 SCC lowlink 的栈条件省略。

无向 DFS 中,树边 (u,v) 是桥当且仅当 low[v]>tin[u]:这说明 v 子树没有返祖边抵达 u 或更早祖先。若 low[v]tin[u],非根 u 是割点候选;根需至少两个 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.
关系图谱11 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系