数据结构07图幻灯片.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * 用邻接矩阵作为存储结构的 * * * 用邻接矩阵作为存储结构的 * * 首先求出长度最短的一条最短路径 再参照它求出长度次短的一条最短路径 依次类推,直到从顶点v到其它各顶点的最短路径全部求出为止 源点:就是出发点 * * * * 在工程计划、施工流程、网络设计等领域有广泛的应用。 AOV网中不能出现有向回路(或称有向环)。在AOV网中如果出现了有向环,则意味着某项活动应以自己作为先决条件,这是不正确的。工程将无法进行。对程序流程而言,将出现死循环。因此,对给定的AOV网络,必须先判断它是否存在有向环。 * * 用栈过程没做了 7.4.1 最短路径问题 1.单源点最短路径问题: ——从某个源点到其余各顶点的最短路径 所谓最短路径问题是指,如果从图中某一顶点(源点)到达另一顶点(终点)的路径 ,沿此路径上各边的权值总和(称为路径长度)达到最小 在有多条通路的情况下,哪一条路最短? 2个顶点之间没有边,但有可能有间接通路 2、迪杰斯特拉(Dijkstra)算法: 按路径长度递增次序产生各顶点的最短路径。 1、将源点到终点的所有路径都列出来,然后在其中选最短的一条。 缺点:当路径特别多时,特别麻烦;没有规律可循。 V4 V1 V2 V5 V3 20 25 10 8 12 18 3 15 7.4.1 最短路径问题 理解路径长度递增: V4 V1 V2 V5 V3 20 25 10 8 12 18 3 15 选定源点:v1 到其他各点的路径中,必定只含一条弧 v1, vi,且其权值最小。 由此,只要在所有从源点出发的弧中查找权值最小者。 v1, v4 (18)) 它只可能有两种情况: 1)、直接从源点到 vi v1, vi (只含一条弧); 下一条路径长度次短的最短路径: v1, v2 (20) 2)、从源点经过顶点 v4,再到达 vi v1, v4, v4, vi (由两条弧组成)。 v4 必为已求得的最短路径上的顶点 V4 V2 7.4.1 最短路径问题 可能有四种情况: 1)、直接从源点到 vi v1, vi(由一条弧组成); 2)、从源点经过顶点 v4,再到达 vi v1, v4, v4, vi(由两条弧组成); 3)、从源点经过顶点 v2,再到达 vi v1, v2, v2, vi(由两条弧组成); 4)、从源点经过顶点 v4, v2,再到达 vi v1, v4, v4, v2, v2, vi(由三条弧组成); 再下一条路径长度次短的最短路径的特点: v1, v2, v2, v3 (30) V4 V1 V2 V5 V3 20 25 10 8 12 18 3 15 v4 v2必为已求得的最短路径上的顶点 其余最短路径: 2)、从源点经过已求得的最短路径上的顶点,再到达(含有多条弧) V4 V1 V2 V5 V3 20 25 10 8 12 18 3 15 1)、直接从源点到 vi v0, vi (只含一条弧); V3 V5 v1, v4, v4, v5 (33) 7.4.1 最短路径问题 2.迪杰斯特拉算法思路: V4 V1 V2 V5 V3 20 25 10 8 12 18 3 15 步骤: (1)初始时,S只包含源点,S={v},v的距离为0。T包含除v外的其他顶点,T中顶点的距离为顶点的权或∞ 。 (2)从T中选取一个距离最小的顶点vi,把vi加入到S中 (3)以k 作为新考虑的中间点,修改T中各顶点的距离。 (4)重复步骤(2)、(3)直到所有顶点都包含在S中。 终点 从 v1 到各终点的最短路径及长度 i =1 i =2 i =3 i =4 v1 v2 v3 v4 v5 vj S 0 20 ∞ 18 ∞ V1 v4 18 V4 0 20 ∞ 18 33 V2 v2 20 0 20 30 18 33 V3 v3 20+10 0 20 30 18 33 V5 v5 18+15 7.4.2 最小代价生成树问题 1.最小代价生成树的概念 生成树:是一个极小连通子图,它含有图中全部顶点,但只有n-1条边。 所有顶点均由边连接在一起,但不存在回路的图 最小生代价成树:给定一个无向网,在该网的所有生成树中,使得各边权数之和最小的那棵生成树称为该网的最小代价生成树,也叫最小生成树。 ——普里姆算法 MST(Minimum cost Spanning Tree)性质 如何获得图的生成树? 如何获得图的最小代价生成树? 由深度优先遍历得到的生成树,获得深度优先生成树 由广度优先遍历得到的生成树,获得广度度优先生成树 7.4.2 最小

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档