数据结构第6章图探讨.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 用有向图来描述一个工程或系统的进行过程。 一个工程可以分为若干个子工程,只要完成了这些子工程(活动),就可以导致整个工程的完成。 ① AOV网(Activity On Vertices)—用顶点表示活动的网络 ② AOE网(Activity On Edges)—用边表示活动的网络 比如教学计划的制定 哪些课程是必须先修的,哪些课程是可以并行学习的。 有向无环图及其应用 * C1 高等数学 C2 程序设计基础 C3 离散数学 C1, C2 C4 数据结构 C3, C2 C5 高级语言程序设计 C2 C6 编译方法 C5, C4 C7 操作系统 C4, C9 C8 普通物理 C1 C9 计算机原理 C8 * 学生课程学习工程图 数据结构 离散数学 程序设计基础 对学生选课工程图进行拓扑排序,得到的拓扑有序序列为 C1 , C2 , C3 , C4 , C5 , C6 , C8 , C9 , C7 或 C1 , C8 , C9 , C2 , C5 , C3 , C4 , C7 , C6 * 输入AOV网络。令 n 为顶点个数。 在AOV网络中选一个没有直接前驱的顶点, 并输出之; 从图中删去该顶点, 同时删去所有它发出的有向边; 重复以上 2、3 步, 直到: 全部顶点均已输出,拓扑有序序列形成,拓扑排序完成;或: 图中还有未输出的顶点,但已跳出处理循环。这说明图中还剩下一些顶点,它们都有直接前驱,再也找不到没有前驱的顶点了。这时AOV网络中必定存在有向环。 拓扑排序算法的思想-重复选择没有直接前驱的顶点 * 拓扑排序的过程 * 最后得到拓扑序列 C4 , C0 , C3 , C2 , C1 , C5 。满足图中给出的所有前驱和后继关系,对于本来没有这种关系的顶点,如C4和C2,也排出了先后次序关系。 * 典型用途:交通问题。如:城市A到城市B有多条线路,但每条线路的交通费(或所需时间)不同,那么,如何选择一条线路,使总费用(或总时间)最少? 问题抽象:在带权有向图中A点(源点)到达B点(终点)的多条路径中,寻找一条各边权值之和最小的路径,即最短路径。 (注:最短路径与最小生成树不同,路径上不一定包含n个顶点) 最短路径 * 一顶点到其余各顶点 两种常见的最短路径问题: 一、 单源最短路径—用Dijkstra(迪杰斯特拉)算法 二、所有顶点间的最短路径—用Floyd(弗洛伊德)算法 任意两顶点之间 * 目的: 设一有向图G=(V, E),已知各边的权值,以某指定点v0为源点,求从v0到图的其余各点的最短路径。限定各边上的权值大于或等于0。 源点 从F→A的路径有4条: ① F→A: 24 ② F→B→A: 5+18=23 ③ F→B→C→A:5+7+9=21 ④ F→D→C→A:25+12+9=36 又: 从F→B的最短路径是哪条? 从F→C的最短路径是哪条? 单源最短路径问题(Dijkstra算法) * v 0 ( v 0 , v 1 ) 10 源点 终点 最 短 路 径 路径长度 ( v 0 , v 1 , v 2 ) ( v 0 , v 3 , v 2 ) ( v 0 , v

文档评论(0)

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

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

1亿VIP精品文档

相关文档