为什么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 集合为一个最大连通子图

posted @ 2018-07-06 16:18  luozhonghao  阅读(216)  评论(0编辑  收藏  举报