图和其应用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图和其应用

第四讲 图 ; 一、 图的基本概念 1、图的的定义 如果数据元素集合D中的各元素之间存在任意的前驱和后继关系R,则此数据结构G=(D,R)称为图。如果将数据元素抽象为结点,元素之间的先后关系用边表示,则图亦可以表示为G=(V,E),其中V是结点的有穷(非空)集合,E为边的集合。如果元素a是元素b的前驱,这种先后关系对应的边用(a,b)表示,即(a,b)∈E。图可以分为无向图和有向图两种形式。;2、无向图和有向图 ?⑴无向图:在图G=(V,E)中,如果对于任意的a,b∈V,当(a,b)∈E时,必有(b,a)∈E(即关系R对称),对称此图为无向图。在一无向图中用不带箭头的边 连接两个有关联的结点。在具有n个结点的无向图中,边的最大数目为: 而边数达到最大值的图称为无向完全图。 在无向图中一个结点相连的边数称为该结点的度。 图(A) V={1,2,3,4} E={(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)} ⑵有向图:如果对于任意的a,b∈V,当(a,b)∈E时 ,(b,a)∈E未必成立,则称此图为有向图。在有向图中,通常用带箭头的边连接两个有关联的结点(方向由前件指向后件)。例如图(b)为有向图。有向图中一个结点的后件个数称为该结点的出度,其前件个数称为该结点的入度。一个结点的入度和出度之和称为该结点的度。图中结点的最大度数称为图的度。例如下图 (b))中结点1的出度和入度分别为1,结点1和结点1度都为2。整个图的度为2。 图(B) V={1,2,3} E={1,2,2,1,2,3};1、?? 路径和连通集 在图G=(V,E)中,如果对于结点a,b,存在满足下述条件的结点序列x1……xk(k1) ⑴ x1=a,xk=b ⑵ (xi,xi+1)∈E i=1‥k-1 则称结点序列x1=a,x2,…,xk=b为结点a到结点b的一条路径,而路径上边的数目k-1称为该路径的长度,并称结点集合{x1,…,xk}为连通集。;2、简单路径和回路 如果一条路径上的结点除起点x1和终点xk可以相同外,其它结点均不相同,则称此路径为一条简单路径。图(a)中v1→v2→v3是一条简单路径,v1→v3→v4→v1→v3不是简单路径。x1=xk的简单路径称为回路(也称为环)。例如图(b)中,v1→v2→v1为一条回路。 ;二、图的存储结构 图的相邻矩阵表示法 相邻矩阵是表示结点间相邻关系的矩阵。若G=(V,E)是一个具有n个结点的图,则G的相邻矩阵是如下定义的二维数组a,其规模为n*n;上图中的图G1和图G2对应的相邻矩阵分别为: ;相邻矩阵的特点: 1)无向图的相邻矩阵是对称的,而有向图则不是。 ;三、图的遍历 给出一个图G和其中任意一个结点V0,从V0出发系统地访问G中所有结点,每一个结点被访问一次,这就叫图的遍历。 通常有两种遍历方法: ⑴深度优先搜索dfs ⑵广度优先搜索bfs 它们对无向图和有向图都适用。我们以相邻矩阵存储结构给出深度优先搜索和广度优先搜索的程序。 ;1、深度优先搜索DFS 深度优先搜索类似于树的前序遍历,是树的前序遍历的推广。其搜索过程如下: 假设初始时所有结点未曾被访问。深度优先搜索从某个结点V0出发,访问此结点。然后依次从V0的未被访问的邻接点出发深度优先遍历图,直至图中所有和V0有路径相连的结点都被访问到。若此时图中尚有结点未被访问,则另选一个未曾访问的结点作起始点,重复上述过程,直至图中所有结点都被访问为止。换句话说,深度优先搜索遍历图的过程是以V0为起始点,由左而右,依次访问由V0出发的每条路径。;虑眷柴躬核旗阁淖韶玩熄距淀脖异极计饼拧贼愿立曲息悠拭郧棠册斯夕核图和其应用图和其应用;调用一次dfs(i),可按深度优先搜索的顺序访问处理结点i所在的连通分支(或强连通分支),dfs(i)的时间复杂度为W(n2)。整个图按深度优先搜索顺序遍历的过程如下: ;2、广度优先搜索(宽度优先搜索)BFS 广度优先搜索类似于树的按层次遍历的过程,其搜索过程如下: 假设从图中某结点v0出发,在访问了v0之后依次访问v0的各个未曾访问的邻接点,然后分别从这些邻接点出发按广度优先搜索的顺序遍历图,直至图中所有可被访问的结点都被访问到。若此时图中尚有结点未被访问,则任选其中的一个作起始点,重复上述过程,直至图中所有结点都被访问到为止。换句话说,按广度优先顺序搜索遍历图的过程是以v0为起始点,由近及远,依次访问和v0有路径相连且路径长度为1,

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档