为什么tarjan算法可以确定强连通分量的顶点集
正向遍历序列
a1 a2 a3 …ai …aj …an
对于i<j
有 s1∨s2==1
s1存在一条路径从aj到 ai
s2 不存在一条路径从ai到aj(否则i应>j)
对于逆向遍历序列
A1 A2 A3…An (Ai为一个逆向遍历所得的顶点的集合)
Ai内有(bi1 bi2 bi3…bip…biq…bin)
对于p<q
一定有
bip=aj
biq=ai (正向序列中biq在bip的前面)
有逆向序列知 存在一条路径从biq到bip 即存在一条路径从ai到aj 即¬s2
对于集合Ai内bip与biq
S1==1 s1∧¬s2==(bip与biq连通)
故有Ai集合内元素是连通的
对于在Ai集合以外的元素ak 不存在一条路径从ak到该集合 故集合外元素不与集合内元素连通
Ai 集合为一个最大连通子图
luozh@bupt.edu.cn