- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有向图的邻接矩阵存储结构
7.5 拓扑排序及其应用 * 拓扑排序 无环的有向图叫有向无环图(DAG) 考虑计算机专业学生的学习 这是一个系统工程,每一门课程的学习是整个工程中的一个活动。其中有些课程要求有先修课程,有些则不要求。这样在有些课程之间有先后关系,有些课程可以并行地学习 * 拓扑排序 C1 高等数学 C2 程序设计基础 C3 离散数学 C1, C2 C4 数据结构 C2, C3 C5 高级语言程序设计 C2 C6 编译原理 C4, C5 C7 操作系统 C4, C9 C8 普通物理 C1 C9 计算机原理 C8 * 拓扑排序 我们用一种有向图来表示课程的开设,在这种有向图中,顶点表示活动,弧表示活动的先后关系,这种有向图叫做顶点代表活动(Activity On Vertices)的网,简称AOV网 * 在AOV网中,弧i, j表示活动i应先于活动j开始,即活动i必须完成后,活动j才可以开始,并称i为j的直接前驱,j为i的直接后继。这种前驱与后继的关系有传递性 此外,任何活动i不能以它自己作为自己的前驱或后继,这叫做自反性 从前驱和后继的传递性和自反性来看,AOV网中不能出现有向环。在AOV网中如果出现了有向环,则意味着某项活动必须以自己作为先决条件,这是悖论,工程将无法进行。对程序流程而言,将出现死循环 因此,对给定的AOV网,应先判断它是否存在有向环 判断AOV网是否存在有向环的方法是对该AOV网进行拓扑排序,将AOV网中顶点排列成一个线性序列,若该线性序列中包含AOV网的全部顶点,则AOV网无环;否则AOV网中存在有向环,该AOV网所代表的工程是不可行的 拓扑排序 * 将有向无环图中的所有顶点在不违反先决条件的情况下排列成一个线性序列的过程叫拓扑排序 例如,对学生选课图进行拓扑排序,得到的拓扑序列为C1,C2,C3,C4,C5,C6,C8,C9,C7 或C1,C8,C9,C2,C5,C3,C4,C7,C6 拓扑排序的定义 * 拓扑排序的方法 在AOV网中选一个没有前驱(入度为0)的顶点并输出之 从图中删除该顶点和它的出弧(相当于出弧所指向的顶点的入度减1) 重复以上两步, 直到全部顶点均输出,形成拓扑序列,拓扑排序完成。 还有一种可能,图中还有未输出的顶点,这说明图中还剩下一些顶点,它们都有直接前驱,这时AOV网络中必定存在有向环 * 拓扑排序的方法 拓扑排序算法及其时间复杂度 时间复杂度为O(n+e) a b c d e f 拓扑排序示意图 7.6 最短路径 * 问题的提出 交通网中常常提出这样的问题:从甲地到乙地之间是否有公路连通?在有多条通路的情况下,哪一条路最短? 交通网可以用网络来表示。顶点表示城市,边表示两个城市有路连通,边上的权值可以表示两城市之间的距离、交通费或花费的时间。求两个顶点之间的最短路径,不是指路径上的边数最少,而是指路径上各边的权值之和最小,如距离最短、费用最低或花费的时间最短 另外,若两个顶点之间没有边,则认为两个顶点无直接通路,但有可能有间接通路(通过其它顶点间接达到)。路径上的开始顶点(出发点)称为源点,路径上的最后一个顶点称为终点或汇点 * 7.6.1 单源点的最短路径 求单源最短路径是指 给定有向网G中的某个出发点(某个源点),求从这个源点到其它各顶点之间的最短路径 我们采用Dijkstra算法 * Dijkstra算法 Dijkstra提出了一个按路径长度递增的次序逐步求从源点到其余各点最短路径的算法 设图中所示为源点到其余各点之间的最短路径,则在这些最短路径中,必然存在一条长度最短的。设到顶点a的长度最短。则将a放入集合S中,S集中存放的是已求出最短路径的顶点,最初时只包含源点 * Dijkstra算法 长度次短的路径可能有两种情况 它可能是从源点直接到该点的路径 也可能是从源点到a, 再从a到该点的路径 待次短路径求出后,将相应顶点放入S中。其余依次类推,直到从源点到其它各顶点的最
您可能关注的文档
- 新课程网校原创资料模版2003.doc
- 2008年4月笔试试卷及参考答案一、选择题下列各题a)、b)、c)、d)四.doc
- 动画彩轮-北大附中为明广州实验学校.doc
- 路面不平度随机激励时域模型的仿真比较与评价研究.doc.doc
- 第7章服务器技术.ppt.ppt
- 基于bp神经网络的智能电表用电量预测研究.doc
- 第一章第二节-青海师范大学计算机学院.ppt
- (x)的定义域为.ppt
- 集合之關係.doc
- 自测题1.doc
- 2024年云南省德钦县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省福贡县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省洱源县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省富宁县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省耿马傣族佤族自治县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省富民县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省富源县公开招聘合同制交警试题带答案详解.docx
- 2024年贵州省开阳县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省贡山独龙族怒族自治县公开招聘合同制交警试题带答案详解.docx
- 2024年云南省河口瑶族自治县公开招聘合同制交警试题带答案详解.docx
文档评论(0)