第12讲 图的逻辑结构.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二讲 图的逻辑结构 主讲:朱郑州 主要内容 图的定义 图的定义 主要内容 路径长度: 路径长度: 回路(环):第一个顶点和最后一个顶点相同的路径。 简单路径:序列中顶点不重复出现的路径。 简单回路(简单环):除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路。 主要内容 主要内容 DestroyGraph 前置条件:图已存在 输入:无 功能:销毁图 输出:无 后置条件:释放图所占用的存储空间 GetVex 前置条件:图已存在 输入:顶点v 功能:在图中查找顶点v的数据信息 输出:顶点v的数据信息 后置条件:图保持不变 }ADT Graph 图的抽象数据类型定义 2. 图的基本术语 1. 图的定义 3. 图的ADT 4. 图的遍历操作 图的遍历是在从图中某一顶点出发,对图中所有顶点访问一次且仅访问一次。 抽象操作,可以是对结点进行的各种处理,这里简化为输出结点的数据。 图的遍历操作 ① 在图中,如何选取遍历的起始顶点? 在线性表中,数据元素在表中的编号就是元素在序列中的位置,因而其编号是唯一的; 在树中,将结点按层序编号,由于树具有层次性,因而其层序编号也是唯一的; 在图中,任何两个顶点之间都可能存在边,顶点是没有确定的先后次序的,所以,顶点的编号不唯一。 为了定义操作的方便,将图中的顶点按任意顺序排列起来,比如,按顶点的存储顺序。 解决方案:从编号小的顶点开始 。 图的遍历操作要解决的关键问题 ② 从某个起始点可能到达不了所有其它顶点,怎么办? 解决方案:多次调用从某顶点出发遍历图的算法。 下面仅讨论从某顶点出发遍历图的算法。 图的遍历操作要解决的关键问题 ③ 因图中可能存在回路,某些顶点可能会被重复访问,那么如何避免遍历不会因回路而陷入死循环。 ④ 在图中,一个顶点可以和其它多个顶点相连,当这样的顶点访问过后,如何选取下一个要访问的顶点? 解决方案:附设访问标志数组visited[n] 。 解决方案:深度优先遍历和广度优先遍历。 图的遍历操作要解决的关键问题 约翰·霍普克洛夫特1939年生于西雅图。1961年进入斯坦福大学研究生院深造,1962年获硕士学位,1964年获博士学位。毕业后先后在普林斯顿大学、斯坦福大学等著名学府工作,也曾任职于一些科学研究机构如 NSF(美国科学基金会)和 NRC(美国国家研究院)。 罗伯特·陶尔扬1948年4月30日生于加利福尼亚州 。1969年本科毕业,进入斯坦福大学研究生院,1972年获得博士学位。 1986年图灵奖获得者 ret@cs.princeton.edu 基本思想 : ⑴ 访问顶点v; ⑵ 从v的未被访问的邻接点中选取一个顶点w,从w出发进行深度优先遍历; ⑶ 重复上述两步,直至图中所有和v有路径相通的顶点都被访问到。 深度优先遍历 DFS (Depth First Search) 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V2 V2 V4 V4 V5 V5 深度优先遍历 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V2 V2 V4 V4 V5 V8 V8 深度优先遍历 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V2 V2 V4 V4 V5 V8 深度优先遍历 深一层递归 递归返回 深度优先遍历序列?入栈序列?出栈序列? V1 V3 V2 V4 V5 V6 V7 V8 V1 遍历序列: V1 V7 V2 V4 V5 V8 V3 V3 V6 V6 V7 深度优先遍历 基本思想: ⑴ 访问顶点v; ⑵ 依次访问v的各个未被访问的邻接点v1, v2, …, vk; ⑶ 分别从v1,v2,…,vk出发依次访问它们未被访问的邻接点,并使“先被访问顶点的邻接点”先于“后被访问顶点的邻接点”被访问。直至图中所有与顶点v有路径相通的顶点都被访问到。 广度优先遍历 BFS (Broadth First Search) 《数据结构》 Data Structure * 《数据结构》 Data Structure 2. 图的基本术语 1. 图的定义 3. 图的ADT 4. 图的遍历

文档评论(0)

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

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

1亿VIP精品文档

相关文档