数据结构第7章最新图.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章最新图

AOV-网的特性如下: · 若vi为vj的先行活动,vj为vk的先行活动,则vi必为vk的先行活动,即先行关系具有可传递性。从离散数学的观点来看,若有vi, vj、 vj, vk,则必存在vi, vk。 显然,在AOV-网中不能存在回路,否则回路中的活动就会互为前驱,从而无法执行。  · AOV-网的拓扑序列不是唯一的。  例如,图7.21的另一个拓扑序列为:C1, C2, C3, C8, C4, C5, C9, C7, C6。 拓扑排序的基本思想为:  (1) 从有向图中选一个无前驱的顶点输出;  (2) 将此顶点和以它为起点的弧删除;  (3) 重复(1)、(2),直到不存在无前驱的顶点; (4) 若此时输出的顶点数小于有向图中的顶点数,则说明有向图中存在回路,否则输出的顶点的顺序即为一个拓扑序列。  图7.22 AOV-网 例如,对于图7.22所示的AOV-网,执行上述过程可以得到如下拓扑序列: v1,v6,v4,v3,v2,v5 或 v1,v3,v2,v6,v4,v5 基于邻接表的存储结构 入度为零的顶点即为没有前驱的顶点, 我们可以附设一个存放各顶点入度的数组indegree[],于是有 (1)找G中无前驱的顶点——查找indegree[i]为零的顶点vi; (2)删除以i为起点的所有弧——对链在顶点i后面的所有邻接顶点k,将对应的indegree[k] 减1。  为了避免重复检测入度为零的顶点,可以再设置一个辅助栈,若某一顶点的入度减为0,则将它入栈。每当输出某一入度为0的顶点时,便将它从栈中删除。 Status TopologicalSort(ALGraph G){ FindInDegree(G,indegree); //求得每个顶点的入度 InitStack(S); //初始化一个栈 for(i=0;iG.vexnum;i++) //建入度为0的顶点进栈 if(!indegree[i]) Push(S,i); count=0; //对输出顶点计数 while(!StackEmpty(S)){ Pop(S,i); printf(i,G.vertices[i].data); count++; for(p=G.vertices[i].firstarc; p; p=p-nextarc){ k=p-adjvex; //对i号顶点的每个邻接点入度减1 if(!(--indegree[k])) Push(S,k); //若入度减为0,则入栈 } } if(countG.vexnum) return ERROR; else return OK; } 7.5.2 关键路径 有向图在工程计划和经营管理中有着广泛的应用。通常用有向图来表示工程计划时有两种方法:  · 用顶点表示活动,用有向弧表示活动间的优先关系,即上节所讨论的AOV-网。 · 用顶点表示事件,用弧表示活动,弧的权值表示活动所需要的时间。  我们把用第二种方法构造的有向无环图叫做边表示活动的网(Activity On Edge Network), 简称AOE-网。 AOE-网在工程计划和管理中很有用。在研究实际问题时,人们通常关心的是: · 哪些活动是影响工程进度的关键活动? · 至少需要多长时间能完成整个工程?  在AOE网中存在唯一的、入度为零的顶点,叫做源点;存在唯一的、出度为零的顶点,叫做汇点。从源点到汇点的最长路径的长度即为完成整个工程任务所需的时间,该路径叫做关键路径。关键路径上的活动叫做关键活动。这些活动中的任意一项活动未能按期完成,则整个工程的完成时间就要推迟。相反,如果能够加快关键活动的进度,则整个工程可以提前完成。 图7.24 AOE-网 · 事件vi的最早发生时间ve(i):从源点到顶点vi的最长路径的长度,叫做事件vi的最早发生时间。这个时间决定了所有以vi为尾的弧所表示的活动的最早开始时间。求ve(i)时可从源点开始,按拓扑顺序向汇点递推:  ve(0)=0;  ve(i)

文档评论(0)

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

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

1亿VIP精品文档

相关文档