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

清华大学-数据结构-王红梅第6章-专题1-图的逻辑结构.ppt

清华大学-数据结构-王红梅第6章-专题1-图的逻辑结构.ppt

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

路径长度: 路径长度: 回路(环):第一个顶点和最后一个顶点相同的路径。 简单路径:序列中顶点不重复出现的路径。 简单回路(简单环):除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路。 图的遍历操作 图的遍历是在从图中某一顶点出发,对图中所有顶点访问一次且仅访问一次。 6.1 图的逻辑结构 抽象操作,可以是对结点进行的各种处理,这里简化为输出结点的数据。 图的遍历操作要解决的关键问题 ① 在图中,如何选取遍历的起始顶点? 6.1 图的逻辑结构 在线性表中,数据元素在表中的编号就是元素在序列中的位置,因而其编号是唯一的; 在树中,将结点按层序编号,由于树具有层次性,因而其层序编号也是唯一的; 在图中,任何两个顶点之间都可能存在边,顶点是没有确定的先后次序的,所以,顶点的编号不唯一。 为了定义操作的方便,将图中的顶点按任意顺序排列起来,比如,按顶点的存储顺序。 解决方案:从编号小的顶点开始 。 ② 从某个起点始可能到达不了所有其它顶点,怎么办? 6.1 图的逻辑结构 图的遍历操作要解决的关键问题 解决方案:多次调用从某顶点出发遍历图的算法。 下面仅讨论从某顶点出发遍历图的算法。 ③ 因图中可能存在回路,某些顶点可能会被重复访问,那么如何避免遍历不会因回路而陷入死循环。 ④ 在图中,一个顶点可以和其它多个顶点相连,当这样的顶点访问过后,如何选取下一个要访问的顶点? 6.1 图的逻辑结构 图的遍历操作要解决的关键问题 解决方案:附设访问标志数组visited[n] 。 解决方案:深度优先遍历和广度优先遍历。 约翰·霍普克洛夫特1939年生于西雅图。1961年进入斯坦福大学研究生院深造,1962年获硕士学位,1964年获博士学位。毕业后先后在普林斯顿大学、斯坦福大学等著名学府工作,曾任职于一些科学研究机构,如NSF(美国科学基金会)和 NRC(美国国家研究院)。 罗伯特·陶尔扬1948年4月生于加利福尼亚州。1969年本科毕业,进入斯坦福大学研究生院,1972年获得博士学位。 1986年图灵奖获得者 6.1 图的逻辑结构 1. 深度优先遍历 基本思想 : ⑴ 访问顶点v; ⑵ 从v的未被访问的邻接点中选取一个顶点w,从w出发进行深度优先遍历; ⑶ 重复上述两步,直至图中所有和v有路径相通的顶点都被访问到。 6.1 图的逻辑结构 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? 6.1 图的逻辑结构 V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V2 V2 V4 V4 V5 V5 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? 6.1 图的逻辑结构 V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V2 V2 V4 V4 V5 V8 V8 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? 6.1 图的逻辑结构 V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V2 V2 V4 V4 V5 V8 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? 6.1 图的逻辑结构 V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V7 V2 V4 V5 V8 V3 V3 V6 V6 V7 1. 深度优先遍历 从顶点v出发图的深度优先遍历算法的伪代码: 6.1 图的逻辑结构 1. 访问顶点v; visited[v] = 1; 2. w =顶点v的第一个邻接点; 3. while (w存在) 3.1 if (w未被访问) 从顶点w出发递归执行该算法; 3.2 w = 顶点v的下一个邻接点; 2. 广度优先遍历 基本思想: ⑴ 访问顶点v; ⑵ 依次访问v的各个未被访问的邻接点v1, v2, …, vk; ⑶ 分别从v1,v2,…,vk出发依次访问它们未被访问的邻接点,并使“先被访问顶点的邻接点”先于“后被访问顶点的邻接点”被访问。直至图中所有与顶点v有路径相通的顶点都被访问到。 6.1 图的逻辑结构 广度优先遍历序列?入队序列?出队序列? 6.1 图的逻辑结构 V1 V3 V2 V4 V5 V6 V7 V8 遍历序列: V1 V1 数据结构(C++版) 清华大学出版社 专题1:图的逻辑结构 1 2 3 图的定义 图的基本术语 图的抽象数据类型定义 4 图的遍历操作 欧拉1707年出生在瑞士的巴塞尔城,19岁开始发表论文,直到76岁。几乎每一个数学领域都可以看到欧拉的名字,从初等几何的欧拉线,多面体的欧拉定理,立体解析几何

文档评论(0)

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

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

1亿VIP精品文档

相关文档