数据结构22.pptVIP

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

图的表示和实现 图的邻接矩阵表示 图的邻接表表示 图的邻接矩阵表示 邻接矩阵 不带权图的邻接矩阵 带权图的邻接矩阵 邻接矩阵表示的带权图类 邻接矩阵表示的带权图类的声明及构造方法 顶点集合{A,B,C,D,E}; 边集合{ (0,1,5), (0,3,2), (1,0,5), (1,2,7), (1,3,6), (2,1,7), (2,3,8), (2,4,3), (3,0,2),(3,1,6), (3,2,8), (3,4,9), (4,2,3), (4,3,9)}; 图的插入操作 图的删除操作 带权值的边类 邻接矩阵表示的带权图类 图的邻接表表示 邻接表 无向图的邻接表表示 有向图的邻接表表示 邻接表表示的带权图类 顶点表元素类 邻接表表示的带权图类的声明及构造方法 图的插入操作 图的删除操作 邻接表表示的图类 图的遍历 图的遍历 1 图的深度优先搜索遍历 2 图的广度优先搜索遍历 7.3.1 图的深度优先搜索遍历 图的广度优先搜索遍历 最小生成树 生成树 树 生成树和生成森林 最小生成树 最小生成树的构造算法 Prim算法 2.Kruskal算法 最短路径 小 结 作业 有如下图所示的无向图,请以写出以H为起点的深度优先和广度优先遍历序列。 * * 图 图的遍历(traversing graph)是指从图中的某一顶点出发,对图中的所有顶点访问一次,而且仅访问一次。图的遍历是图的一种基本操作。由于图结构本身的复杂性,所以图的遍历操作也较复杂,主要表现在以下四个方面: (1)在图结构中,每一个结点的地位都是相同的,没有一个“自然”的首结点,图中任意一个顶点都可作为访问的起始结点。 (2)在非连通图中,从一个顶点出发,只能够访问它所在的连通分量上的所有顶点,因此,还需考虑如何访问图中其余的连通分量。 (3)在图结构中,如果有回路存在,那么一个顶点被访问之后,有可能沿回路又回到该顶点。 (4)在图中,一个顶点可以和其它多个顶点相连,当这个顶点访问过后,就要考虑如何选取下一个要访问的顶点。 深度优先搜索 深度优先搜索(Depth-Fisrst Search)遍历类似于树的先根遍历,是树的先根遍历的推广。 假设初始状态是图中所有顶点未曾被访问,则深度优先搜索可从图中某个顶点发v出发,首先访问此顶点,然后任选一个v的未被访问的邻接点w出发,继续进行深度优先搜索,直到图中所有和v路径相通的顶点都被访问到;若此时图中还有顶点未被访问到,则另选一个未被访问的顶点作为起始点,重复上面的做法,直至图中所有的顶点都被访问。 V1 V5 V2 V4 V8 V3 V6 V7 无向图G5 以左图的无向图G5为例,其深度优先搜索得到的顶点访问序列为: v1 → v2 → v4 → v8 → v5 → v3 → v6 、 → v7 2 广度优先搜索 广度优先搜索 遍历类似于树的按层次遍历。 假设从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,直至图中所有已被访问的顶点的邻接点都被访问到。若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。换句话说,广度优先搜索遍历图的过程中以v为起始点,由近至远,依次访问和v有路径相通且路径长度为1,2,…的顶点。 对左图所示的无向图G5进行广度优先搜索遍历,首先访问v1 和v1的邻接点v2和v3,然后依次访问v2 的邻接点v4 和v5 及v3 的邻接点v6和v7,最后访问v4 的邻接点v8。由于这些顶点的邻接点均已被访问,并且图中所有顶点都被访问,由些完成了图的遍历。得到的顶点访问序列为: v1→v2 →v3 →v4→ v5→ v6→ v7 →v8 和深度优先搜索类似,在遍历的过程中也需要一个访问标志数组。并且,为了顺次访问路径长度为2、3、…的顶点,需附设队列以存储已被访问的路径长度为1、2、… 的顶点。 V1 V5 V2 V4 V8 V3 V6 V7 无向图G5 (1)图是一种复杂的数据结构,图中的每一个顶点都可以有多个直接前驱和多个直接后继,所以是一种非线性的数据结构。 (2)因为图是由顶点的集合和顶点间边的集合组成,所以图的存储也包括顶点信息和边的信息两个方面。 (3)图的存储结构常用的有:邻接矩阵和邻接表等要求理解。 (4)对于n个顶点的图

文档评论(0)

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

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

1亿VIP精品文档

相关文档