算法艺术和信息学竞赛第二版教学图论算法.ppt

算法艺术和信息学竞赛第二版教学图论算法.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《算法艺术与信息学竞赛》 第二版 教学幻灯片—图论算法 第五讲连通性问题 (刘汝佳) 内容介绍 、有向图:SCC划分的 Kosaraju算法 有向图:SCC划分的 Tarjan和 Gabow算法 三、无向图:割顶和桥的判定 四、无向图:BCC划分 、 Kosaraju算法 sCC的概念 有向图中,U可达v不 定意味着v可达u.相互 134mx(10)89 可达则属于同一个强连 Y 通分量( Strongly Connected component SCC 有向图和它的转置的强 连通分量相厦 所有SCC构成一个DAG Kosaraju算法 算法步骤 调用DFS(G),计算出每个结点的u 计算GT 调用DFS(G),在主循环中按照fu]递减的顺序 执行DFS-ⅥST,则得到的每个DFS树恰好对应 于一个SCC 运行时间:O(n+m) 算法示例:先把fu]排序成post数组,然而在 GT上DFS po3401101 Kosaraju算法的正确性 按照f值排序以后.第二次DFS是按照ScC的拓 扑序进行(以后所指叫U和u都是第一次DFS所 己d(C)和f(C)分别表示集合∪所有元素的最早发现 时间和最晚完成时间,有如下定理 定理:对于两个SCCC和C,如果C到C有边,则 f(c)f(c) 凊况:d(C)≤d(c).考虑C中第个被发现的点x,则c 全为白色,而C到C有边,故x到C中每个点都有白色路 径这样,C和C全是X的后代,因此f(C)f(C) 情况二:d(C)d(C)由于从C不可到达C因此必须等 C全部访问完毕才能访问C.因此(C)f(C) 推论对于两个SCCC和C,如果在GT中C到C’有 边,则f(C)fC) Kosaraju算法的正确性 首先考虑f(C)最大的强连通分量.显然,此次 DFS将访问C的所有点,问题是是否可能边 其他连通分量的点?答案是否定的,因为 根据推论,如果在GT中C到另外某个C’存在 边,一定有f(C)f(C),因此第一棵DFS恰好 包含C.由数学归纳法可知,每次从当前强连 通分量出发的边一定连到f值更大的强连通 分量,而它们是已经被遍历过的,不会在 DFS树形成多余结点 SCC图 把SCC看成点,则DFS的同时可以得到SCC 图.在第二次DFS中,每新开始一次DFS V|S|T,即新找到一个SCC,当前编号加1 DFS-VST某个SCCC时,如果出现了指向 个已访问过的SCCC的交叉边,则在 SCC图中设置边(C,C),因为在转置图中存 在C到C的边 局限性

文档评论(0)

3471161553 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档