强连通份量(Kosaraju算法)

求有向图的强连通份量除了你们熟知的trajan,还能够用Kosaraju 先说算法流程: 1,对原图dfs一遍,并将出栈顺序的逆序做为“伪拓扑序” 2,对原图够构反向图 3,按伪拓扑序在反向图上dfs,新遍历到的点都属于同一个强联通份量。web 正确性证实: s在反向图上dfs可以遍历到t,说明存在t到s的路径,而如今须要证实的就是存在s到t的路径。 咱们知道,s的伪拓扑序小于t,也就是s后退栈,
相关文章
相关标签/搜索