1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图算法

六、关键路径 ——用边表示活动的网络,简称 AOE网络  边:一个工程中的活动 Activity 边上权值:活动持续时间 Duration 顶点:事件 Event   七、单源最短路径问题 ——给定一个带权有向图D与源点v,求从v到D中其它顶点的最短路径(限定各边上的权值大于或等于0) 。 Dijkstra提出:按路径长度的递增次序,逐步产生最短路径。 首先求出长度最短的一条最短路径,再参照它求出长度次短的一条最短路径,依次类推,直到从顶点v到其它各顶点的最短路径全部求出为止。 数据结构复习 图算法 一、图的定义 图是一个二元组,G V,E 。 其中, V:顶点的有限集, E:关系 边 的有限集。 第7章 图 二、图的存储结构 (1)邻接矩阵 (2)邻接表 V1 V2 V3 V4 1 若 vi, vj ? E 0 否则 aij 图的邻接矩阵可以定义为: 邻接表: v1 v2 v3 v4 v5 v6 4 3 5 5 2 5 4 v1 v5 v4 v3 v6 v2 2 图的遍历:从图中某一顶点出发访遍图中其余结点,使每一个结点被访问且仅被访问一次。 图的遍历通常有两种方法:深度优先搜索和广度优先搜索。它们对有向图和无向图都适用。 三、图的遍历 类似于树的先根遍历。 从图中某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发深度优先遍历图, 直至所有与v有通路的顶点都被访问到;若此时图中还有顶点未被访问到,则另选图中未被访问的顶点作起点,重复上述过程,直到图中所有顶点都被访问到为止。 (1)深度优先搜索 Depth First Search 深度优先遍历序列: v1,v2,v4,v8,v5,v3,v6,v7 类似于树的层次遍历。 从图中某个顶点v出发,在访问了v之后,依次访问v的各个未曾访问过的邻接点 并保证先被访问的顶点的邻接点“要先于”后被访问的顶点的邻接点被访问 , 直至图中所有已被访问的顶点的邻接点都被访问到。若此时图中还有未被访问的顶点,则任选其中之一作为起点,重新开始上述过程,直至图中所有顶点都被访问到。 (2)广度优先搜索 Breadth First Search 广度优先遍历序列:v1,v2,v3,v4,v5,v6,v7,v8 四、最小生成树 定义:生成树中边的权值(代价)之和最小的树。 实例: 1 2 4 3 5 6 6 1 6 5 5 5 6 3 4 2 1 2 4 3 5 6 1 5 3 4 2 对应的最小(代价)生成树 方法:找n-1条不构成回路的最小边。 1 2 4 3 5 6 6 1 6 5 5 5 6 3 4 2 图G 重复执行,找 n-1条不构成回路的最小边 第1条边 1,3 第2条边 4,6 第3条边 2,5 第4条边 3,6 1,4 因构成回路,放弃 3,4 因构成回路,放弃 第5条边 2,3 最小代价生成树 1 2 4 3 5 6 1 5 3 4 2 5 5 (1) Kruskal 算法 1 2 4 3 5 6 6 1 6 5 5 5 6 3 4 2 1 2 4 3 5 6 1 5 3 4 2 对应的最小(代价)生成树 (2) prim 算法 从某一顶点开始,找 n-1条 不构成回路的 最小边(顶点偶对) 从某一顶点开始,找 n-1条最小边(顶点偶对) 五、拓扑排序 ——用顶点表示活动的网络,简称 AOV网络 Activity On Vertices 顶点:活动; 边:顶点间的优先关系 1、什么是拓扑排序 将各个顶点 代表各个活动 排列成一个线性有序的 序列, 这种构造AOV网络全部顶点的拓扑有序序列的 运算就叫做拓扑排序。 2、拓扑排序方法 v1 v5 v4 v3 v6 v2 1 输出顶点v6 2 输出顶点v1 3 输出顶点v3 4 输出顶点v4 5 输出顶点v2 6 输出顶点v5 (1) 在AOV网络中选一个入度为0的顶点, 并访问该顶点; (2)从图中删去该顶点, 同时删去所有它发出的边。 重复(1)和(2), 直 全部顶点均已被访问为止。 若图中还有未输出的顶点,但已跳出处理循环。说明图中存在环。  Ve j :事件Vj 的最早可能开始时间 ——从源点V1 到顶点Vj的最长路径长度。  Vl[i]:事件Vi 的最迟允许开始时间 ——在保证汇点Vn 在Ve[n] 时刻完成的前提下, 事件Vi 的允许的最迟开始时间。 Ve 1 0 Ve j max Ve i + i,j 的权 Vl n Ve n Vl i min Vl j - i,j 的权 1 3 2 4 a1 8 a2 6 5 6 7 8 a10 12 a9 6 a8 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档