- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第09章图讲解
第9章 图 图有许多复杂结构,本课程只讨论最基本的图,因此,本章讨论的图中不包括从自身到自身的边存在的图,以及带自身环的图 9.2 图的存储结构 普里姆函数设计: void Prim(AdjMWGraph G, MinSpanTree closeVertex[]) { VerT x; int n = G.Vertices.size, minCost; int *lowCost = (int *)malloc(sizeof(int)*n); int i, j, k; ? for(i = 1; i n; i ++) lowCost[i] = G.edge[0][i]; ? /*从顶点0出发构造最小生成树*/ ListGet(G.Vertices, 0, x); closeVertex[0].vertex = x; lowCost[0] = -1; for(i = 1; i n; i++) 事件允许的最晚发生时间υl(k):对于顶点υk代表的事件,υl(k)是在保证按时完成整个工程的前提下,该事件最晚必须发生的时间。在一个有n+1个事件的AOE网中,汇点υn的最晚发生时间υl(n)为工程最后的完成时间,即υl(n)等于υe(n)。所以,事件υk(k=0,1,2,…,n-1)的最迟发生时间υl(k)可用递推公式表示为: 作业 9.7 拓扑排序 1.偏序关系和全序关系 拓扑排序就是要由某个集合上的偏序关系得到该集合上的全序关系。 若集合X上的关系R是自反的、反对称的和传递的,则称关系R是集合X上的偏序关系(或称半序关系)。 设关系R为定义在集合X上的二元关系,若对于每一个x∈X,都有(x,x)∈R,则称R是自反的。 设关系R为定义在集合X上的二元关系,如果对于任意的x,y,z∈X,若当(x,y)∈R且(y,z)∈R时,有(x,z)∈R,则称关系R是传递的。 设关系R为定义在集合X上的二元关系,若对于所有的x,y∈X,若当(x,y)∈R且(y,x)∈R时,有x=y,则称关系R是反对称的。 例如,设X是实数集合,R为小于等于关系,即R={(x,y)|x∈X∧y∈X∧x≤y},由于当x≤y且y≤x时有x=y,因此,关系R是反对称关系。另外,相等关系也是反对称关系。 设关系R是集合X上的偏序关系,若对所有的x,y∈X,有(x,y)∈R或(y,x)∈R,则称关系R是集合X上的全序关系。 偏序关系的实质是在集合X的元素之间建立层次结构。这种层次结构是依赖于偏序关系的可比性建立起来的。但是,偏序关系不能保证集合X中的任意两个元素之间都能比较。而全序关系可以保证集合中的任意两个元素之间都可以比较。 2.有向图在实际问题中的应用 一个有向图可以表示一个施工流程图,或产品生产流程图,或数据流图等。设图中每一条有向边表示两个子工程之间的先后次序关系。 若以有向图中的顶点来表示活动,以有向边来表示活动之间的先后次序关系,则这样的有向图称为顶点表示活动的网 (Activity On Vertex Network),简称AOV网。 AOV网表示的有向图要解决的一个问题,就是如何得到一个完成整个工程项目的各子工程的序列。这就是有向图的拓扑排序问题。 3 9 2 4 7 5 6 0 8 1 3.拓扑排序在有向图中的应用 如果把有向图中的所有顶点看作集合中的元素,把有向图中的有向边看作集合中的关系(通常情况下是先于关系),则可以证明,如果有向图中不存在回路,则对应的集合上的关系满足偏序关系。因此,如何得到AOV网表示的施工流程图的一个完成整个工程项目的各子工程的序列问题,就是一个AOV网表示的有向图的拓扑排序问题。 对一个有向图进行拓扑排序,就是将有向图中的所有顶点排成一个线性序列,使得对有向图中任意一对顶点u和v,若u,v是有向图中的一条有向边,则顶点u在该线性序列中出现在顶点v之前。这样的线性序列称为满足拓扑次序的序列,简称为拓扑序列。对有向图建立拓扑序列的过程称为对有向图的拓扑排序。 对于AOV网的拓扑排序就是将AOV网中的所有顶点排成一个线性序列。 拓扑排序实际上就是要由某个集合上的一个偏序关系得到该集合上的一个全序关系。 例如, 下图所示的两个有向图,由于左图中顶点B无法
文档评论(0)