图常见的应用.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 图 本节主要内容: 1、最小生成树算法 2、最短路径 3、拓扑排序 4、关键路径 有向无环图及其应用 1 有向无环图的概念 2 AOV网与拓扑排序 3 AOE图与关键路径 1 有向无环图的概念 一个无环的有向图称做有向无环图(directed acycline praph)。简称DAG图。DAG图是一类较特殊的有向图,下图给出了有向树、DAG图和有向图的例子。 2 AOV网与拓扑排序 1.AOV网 (顶点表示活动的网) (1) AOV概念:顶点表示活动,弧表示活动之间存在的制约关系网称为AOV。 (2) 用AOV表示一个工程: 概念所有的工程或者某种流程可以分为若干个小的工程或阶段,这些小的工程或阶段就称为活动。若以图中的顶点来表示活动,有向边表示活动之间的优先关系,则这样活动在顶点上的有向图称为AOV网。在AOV网中,若从顶点i到顶点j之间存在一条有向路径,称顶点i是顶点j的前驱,或者称顶点j是顶点i 的后继。若i,j是图中的弧,则称顶点i是顶点j的直接前驱,顶点j 是顶点i的直接后驱。 建筑工程拓扑排序问题 3 AOE图与关键路径 1.AOE网(边表示活动的网) (1) AOE网概念:若在带权的有向图中,以顶点表示事件,以有向边表示活动,边上的权值表示活动的开销(如该活动持续的时间),则此带权的有向图称为AOE网。 (2)AOE网表示一项工程能表示出: ①完成预定工程计划所需要进行的活动; ②每个活动计划完成的时间; ③要发生哪些事件以及这些事件与活动之间的关系; 上述算法仅能得到有向图的一个拓扑序列。改进上述算法,可以得到有向图的所有拓扑序列。 如果一个有向图存在一个拓扑序列,通常表示该有向图对应的某个施工流程图的一种施工方案切实可行;而如果一个有向图不存在一个拓扑序列,则说明该有向图对应的某个施工流程图存在设计问题,不存在切实可行的任何一种施工方案。 例:对于如下图所示的AOV网,写出利用拓扑排序算法得到的一个拓扑序列。 解:根据拓扑排序算法,得到的一个拓扑序列为0,1,7,2,4,8,5,9,3,6。 3 9 2 4 7 5 6 0 8 1 * * 9.5 最小生成树 1.基本概念 一个有n个顶点的连通图的生成树是原图的极小连通子图,它包含原图中的所有n个顶点,并且有保持图连通的最少的边。 (1)若在生成树中删除一条边就会使该生成树因变成非连通图而不再满足生成树的定义; (2)若在生成树中增加一条边就会使该生成树中因存在回路而不再满足生成树的定义; (3)一个连通图的生成树可能有许多; (4)有n个顶点的无向连通图,无论它的生成树的形状如何,一定有且只有n-1条边。 1 V 2 V 3 V 4 V 5 V 6 V 1 V 2 V 3 V 4 V 5 V 6 V 1 V 2 V 3 V 4 V 5 V 6 V (a) (b) (c) 无向图和它的不同的生成树 如果无向连通图是一个带权图,那么它的所有生成树中必有一棵边的权值总和最小的生成树,我们称这棵生成树为最小代价生成树,简称最小生成树。 构造有n个顶点的无向连通带权图的最小生成树必须满足以下三条: (1)构造的最小生成树必须包括n个顶点; (2)构造的最小生成树中有且只有n-1条边; (3)构造的最小生成树中不存在回路。 典型的构造方法有两种,一种称作普里姆(Prim)算法,另一种称作克鲁斯卡尔(Kruskal)算法。 2.普里姆算法 一、算法思想 假设G=(V,E)为一个带权图,其中V为带权图中顶点的集合,E为带权图中边的权值集合。设置两个新的集合U和T,其中U用于存放带权图G的最小生成树的顶点的集合,T用于存放带权图G的最小生成树的权值的集合。 普里姆算法思想是:令集合U的初值为U={u0}(即假设构造最小生成树时从顶点u0开始),集合T的初值为T={}。从所有顶点u∈U和顶点v∈V-U的带权边中选出具有最小权值的边(u,v),将顶点v加入集合U中,将边(u,v) 加入集合T中。如此不断重复,当U=V时则最小生成树构造完毕。此时集合U中存放着最小生成树顶点的集合,集合T中存放着最小生成树边的权值集合。 图9-10 普里姆算法构造最小生成树的过程 图9-10 普里姆算法构造最小生成树的过程 图9-10 普里姆算法构造最小生成树的过程 3.克鲁斯卡尔算法 克鲁斯卡尔算法是一种按照带权图中边的权值的递增顺序构造最小生成树的方法。设无向连通带权图G=(V,E),其中V为顶点的集合,E为边的集合。

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档