7.17.3(与第9章作业合交).pptVIP

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

第7章 图 7.4 图的其他运算 1. 求图的生成树(小结) 例1 :画出下图的生成树 求最小生成树 Kruskal算法示例:对边操作,归并边 普利姆(Prim)算法示例: 归并顶点 3. 求最短路径 一、单源最短路径 (Dijkstra算法) 二、所有顶点之间的最短路径 7.5 图的应用 AOE网络的用途: 1. 【计算机系考研题1999】 对于下面的AOE网络,试回答下列问题: (8分) 刘先 “蒙”答有关内容: 讨论: 学 长 谈 学 (图的应用篇) 第7章小结 * 7.1 7.3 (与第9章作业合交) 方案一:二叉树的建立和遍历 具体内容:先生成一棵二叉树,再用中序遍历方式打印每个结点值,并统计其叶子结点的个数。 方案二:哈夫曼树的建立和编码器的实现 具体内容:先生成一棵哈夫曼树,再打印各字符对应的哈夫曼编码。 方案三:哈夫曼编/译码器的设计与实现 具体内容:参见严题集P149 实习5.2要求,或参见自测卷 实 验 二 第7章?图 作业 检查方式:到韵苑检查 7.1 基本术语 7.2 存储结构 7.3 图的遍历 7.4 图的其他运算 7.5 图的应用 1. 求图的生成树 2. 求最小生成树 3. 求最短路径 4. 求关节点和重连通分量(略) 5. 拓扑排序(见下节) 6. 求关键路径(见下节) 生成树的特征: ——n 个顶点的连通图的生成树有 n 个顶点、n-1 条边。 求生成树的方法: ——DFS(深度优先搜索) ——BFS(广度优先搜索) 注1:生成树是原图的极小连通子图; 注2:从不同顶点出发进行DFS或BFS,得到的生成树不同,即:图的生成树不惟一。 DFS生成树 v0 v1 v2 v4 v4 v3 邻接表 4 3 2 1 0 ^ 1 3 3 4 ^ 1 4 2 ^ 0 v4 v3 v2 v1 v0 2 3 ^ 1 4 2 ^ 0 v0 v2 v1 v4 v3 BFS生成树 v0 v1 v3 v2 v4 无向连通图 v0 v1 v2 v4 v4 v3 v0 v1 v2 v4 v4 v3 本例无回溯 Minimum Cost Spanning Tree 目标:在网(有权图)的多个生成树中,寻找一个各边权值之和最小的生成树(MST)。 典型实例: n个城市建网,如何选择n–1条线路,使总费用最少?——用最小生成树求解 Kruskal(克鲁斯卡尔)算法 Prim(普里姆)算法 求最小生成树有两种方法: 注:任何一个无向连通图的最小生成树只有一棵。 对边操作 对顶点操作 1 4 6 5 2 3 1 5 6 5 5 4 6 3 6 2 1 5 4 3 2 1 3 5 2 4 6 Kruskal算法效率分析: Kruskal算法的时间效率=O(elog2e) Kruskal算法是归并边,适用于稀疏图(用邻接表) 1 4 6 5 2 3 1 5 6 5 5 4 6 3 6 2 3 6 4 2 5 1 Prim算法效率分析: Prim算法的时间效率=O(n2) Prim算法是归并顶点,适用于稠密网。 一顶点到其余各顶点 两种常见的最短路径问题: 一、 单源最短路径—用Dijkstra(迪杰斯特拉)算法 二、所有顶点间的最短路径—用Floyd(弗洛伊德)算法 典型用途:交通问题。如:城市A到城市B有多条线路,但每条线路的交通费(或所需时间)不同,那么,如何选择一条线路,使总费用(或总时间)最少? 问题抽象:在带权有向图中A点(源点)到达B点(终点)的多条路径中,寻找一条各边权值之和最小的路径,即最短路径。 (注:最短路径与最小生成树不同,路径上不一定包含n个顶点) 任意两顶点之间 目的: 设一有向图G=(V, E),已知各边的权值,以某指定点v0为源点,求从v0到图的其余各点的最短路径。限定各边上的权值大于或等于0。 例1: 源点 从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的最短路径是哪条? 迪杰斯特拉 应按路径“长度” 递增的次序,逐步产生最短路径 可以通过调用n次Dijkstra算法来完成, 时间复杂度为O(n3) 还有更简单的一个算法:Floyd算法(略) ① AOV网(Activity On Vertices)—用顶点表示活动的网络 AOV网定义:若用有向图表示一个工程,在图中用顶点表示活动,用弧表示活动间的优先关系。Vi 必须先于活动Vj 进行。则这样的有向图叫做用顶点表示活动的网络,简称 AOV。 ② AOE网(Activity On Edges)—用边表示活动的网络

文档评论(0)

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

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

1亿VIP精品文档

相关文档