网站大量收购独家精品文档,联系QQ:2885784924

第五章图的算法.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章图的算法

第五章 图的算法 要求及重点:掌握有向图的强连通分支、无向图的双连通分支及图的传递闭包算法的基本思想。 难点:Warren传递闭包算法的正确性分析 第五章 图的算法 有向图的强连通分支 无向连通图的双连通分支(双分支) 传递闭包问题 5.1 有向图的强连通分支(强分支) 设图G=(V,E)有n个顶点和m条边,图G在计算机中用邻接表方式存储;在邻接表中,顶点按其字母序(或自然数序)存放。 一、深度优先生成树 在对无向图或有向图G进行从顶点v出发的深度优先搜索时,由v引向未被访问(标记)的顶点的边,构成以v为根的一棵树,这棵树被称为深度优先生成树(DFST)。 始点v称为树根、树上的每条边称为树边。 对G的完整地深度优先搜索,可能把G的顶点分划在若干棵DFST上,这若干棵DFST合在一起称为图G的深度优先生成森林(DFST)。 作业 5.4(给出始点) 5.16 5.17 5.5 无向连通图的双连通分支(双分支) 作业 1、设Gi=(Vi,Ei)是G的极大双连通子图(1≤i≤k),求证:Ei是一个边等价类。 2、假设图5.28的邻接表中,以字母序存放其顶点,选择a点为起始点进行DFS,利用双分支算法找出图5.28的所有双分支并给出找双分支过程中各顶点的dfnumber值和Low值的变化情况一览表。 3***、假设无向连通图G=(V,E)采用邻接表方式存储,邻接表中以字母序存放顶点,借助深度优先搜索,设计一个寻找无向连通图G所包含的所有不同三角形的算法。 三角形的定义是:由图G中三个不同顶点及其关联边所构成的环路子图。 (下一页续) 作业(续) 作业第三题的要求: 给出解决该问题的分析要点 给出其算法的基本思想 给出说明算法正确应证明的命题 给出你认为其算法中需要进一步优化处理的部分。 5.6 传递闭包 传递闭包 求传递闭包的直观算法 Warshall传递闭包算法 Warren传递闭包算法 5.6.1 传递闭包 设G=(V,E)是一个有向图 5.6.2 求传递闭包的直观算法 由传递闭包的定义出发,把G的‘可达关系’全部用附加边代替后,得到的图G’的邻接关系矩阵即为所求。 5.6.3 Warshall传递闭包算法 输入:C矩阵 输出:A可达矩阵 1.A:=C; (将C复写到A) 2.for k:=1 to n do 3. for i:=1 to n do 4. for j:=1 to n do 5.? if aik=1 and akj=1 then aij:=1 end; end; end; 6. 输出矩阵A 作业 给出P126中图5.29的传递闭包,先改错:6?7 5.5.4 Warren传递闭包算法 在有向图的邻接矩阵中, 第i行非“0”元素表示的是所有从vi顶点引出的边, 第i列非“0”元素表示的是所有其它顶点引向vi顶点的边。 在Warshall算法的处理中,外层循环用k控制, 作业 设有向图G如下: 4.举例 设有如下的G。容易看出G中有两个关节点C、D及四个双分支。 以A为始点的深度优先搜索树 以A为始点进行DFS中,各顶点的dfnumber()、Low()值的取值过程及关节点的判别时刻、双分支的确定如下表所示。 low I G F H E D C B A 顶点 说明 9 8 7 6 5 4 3 2 1 dfnumber 1 2 3 1 4 5 6 4 做DFS 遇后向边CA 继续DFS 遇后向边HD 4 5 4 1 2 1 lOW I G F H E D C B A 顶点 说明 9 8 7 6 5 4 3 2 1 dfnumber 遇后向边HD 4 由H回退到E;E不是关节点 4 由E回退到D;D是关节点; 7 8 继续DFS 4 遇后向边GD 9 继续DFS 7 遇后向边IF 4 由I回退到G;G不是关节点 D、E、H及关联边是双分支 7 4 7 4 4 4 1 2 1 lOW I G F H E D C B A 顶点 说明 9 8 7 6 5 4 3 2 1 dfnumber 由I回退到G;G不是关节点 4 由G回退到F;F不是关节点 4 由F回退到D;D是关节点 1 由D回退到C;C是关节点 1 由C回退到B;B不是关节点 1 由B回退到A;A是根 结束 D、F、G、I及关联边是双分支 C、D及关联边是双分支 A、B、C及关联边是双分支 5.双分支算法的实现(P130)说明: (1)数组father

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档