- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图连通性总结.doc
图的连通性总结
boboo
目录
图的遍历及应用
DFS遍历
DFS树的边分类
DFS树的性质
拓补排序
欧拉回路
无向图相关
求割顶
求图的桥
求图的块
有向图相关
求强连通分量(SCC划分)
求传递闭包
最小环问题
一、图的遍历及应用
1.1 DFS遍历
DFS是求割顶、桥、强连通分量等问题的基础。
DFS对图进行染色,
白色:未访问;
灰色:访问中(正在访问它的后代);
黑色:访问完毕
一般在具体实现时不必对图的顶点进行染色,只需进行访问开始时间和访问结束时间的记录即可,这样就可以得出需要的信息了。
-发现时间D[v]:变灰的时间
-结束时间f[v]:变黑的时间
-1=d[v]f[v]=2|V|
伪代码:
DFS(G) for every vertex u ∈ V[G] do color[u] = WHITE π[u] = NIL time = 0 for every vertex u ∈ V[G] do if color[u] = WHITE then DFS_VISIT(u) DFS_VISIT(u) color[u] = GRAY d[u] = time += 1 for every vertex v ∈ Adj[u] do if color[v] = WHITE then π[v] = u DFS_VISIT(v) color[u] = BLACK f[u] = time += 1 A) B) C) D) 我们可以把DFS遍历算法做一下补允,使之遇到边时能对其进行分类。算法的核心思想在于可以根据第一次被搜索的边所达到的结点v的颜色来对该边(u, v)进行分类(但正向边和交叉分不能用颜色区分出)。 1、白色表明它是树枝。 2、灰色表明它是反向边。 3、黑色表明它是正向边或交叉边,其中,如果d[u] d[v],则边(u, v)就是正向边;反之,或d[u] d[v],则(u, v)就是交叉边。 上述证明比较简单,可根据定义证明。另外,如果图G为无向图的话,那么G的深度优先搜索树中的边只能是树枝或反向边。
在程序具体使显示颜色值以及时间戳可以省略, 用意义更加明确的pre数组和post代替d和f数组, pre[u]和post[u]代表点u的先序/后序编号, 则检查
(u,v)可以写为
if (pre[v] = -1) then dfs(v) //树边, 递归遍历
else if (post[v] = -1) then show(“B”) //后向边
else if (pre[v] pre[u]) then show(“F”) // 前向边
else show(“C”); // 交叉边
? pre和post的初值均为-1(0), 方便了判断
程序实现:
1.3 DFS树的性质
? 括号结构性质
对于任意结点对(u, v), 考虑区间[d[u], f[u]]和[d[v], f[v]], 以下三个性质恰有一个成立:
– 完全分离
– u的区间完全包含在v的区间内, 则在dfs树上u是v的后代
– v的区间完全包含在u的区间内, 则在dfs树上v是u的后代
? 定理1(嵌套区间定理):
在DFS森林中v是u的后代当且仅当d[u]d[v]f[v]f[u], 即区间包含关系. 由区间性质立即得到.
? 定理2(白色路径定理):
在DFS森林中v是u的后代当且仅当在d[u]时刻(u刚刚被发现), v可以由u出发只经过白色结点到达. 证明: 由嵌套区间定理可以证明
1.4 拓补排序
算法一:
? 对图G使用DFS算法, 每次把一个结点变黑的同时加到链表首部
? 定理1: 有向图是DAG当且仅当没有B边
– 如果有B边, 有环(易证)
– 如果有环c, 考虑其中第一个被发现的结点v, 环中v的上一个结点为u, 则沿环的路径v??u是白色路径, 有白色路径定理, u是v的后代, 因此(u,v)是B边
? 定理2: 该算法正确的得到了一个拓扑顺序
算法二:
其实还有更方便的方法,不必进行dfs遍历,统计入度的情况即可。
程序实现:(这里只给出DFS的方法)
1.5 欧拉回路
每条边经过一次且仅一次的路径。
经典的递归实现.
算法:从一个点u出发DFS,每次标记边(u,v)和(v,u),递归调用EulerRoute(v),然
后把(u,v)放到栈中.
程序实现:
二、无向图
您可能关注的文档
- 古代中国经济基本结构和特点(复习提纲).doc
- 古希腊戏剧鉴赏.pptx
- 古希腊神话内容、特点、影响和地位.doc
- 发酵工程地研究状况和进展.ppt
- 古希腊语言学地研究.ppt
- 古诗文阅读和古诗歌鉴赏.doc
- 句法结构中语义的分析.ppt
- 可编程序控制器结构及基本工作原理.doc
- 可编程直流电子负载设计和地研究.doc
- 可行性地研究报告万家康鸡蛋加工项目.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 螺杆空气压缩机排气含油量高原因分析和解决措施.pptx VIP
- GBT51121-2015 风力发电工程施工与验收规范.doc VIP
- 螺杆压缩机排气温度高原因分析.doc VIP
- 部编版(2024)道德与法治一年级下册道德与法治第二单元《我们一起长大》全单元教学课件.pptx
- 合成氨压缩机温度波动原因分析.docx VIP
- 2024年03月云南省特种设备安全检测研究院人员招考聘用编制外工作人员9人笔试历年高频考点(难、易错点荟萃)附带答案详解.docx VIP
- 学堂在线大国航母与舰载机2025秋答案.docx
- 离心式压缩机轴瓦温度波动原因探析及解决措施.pdf VIP
- TCBDA55-2021住宅室内装饰装修工程质量验收标准.pdf VIP
- T/CSPSTC 41-2019钢结构建筑施工测量及监测技术规范.pdf
文档评论(0)