数据结构第7章图幻灯片.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 拓扑排序 2.算法描述 void Creatid (Vexnode G[ ], int n,id[ ])∥建立顶点的入度表id,顶点数=n ∥ { int count,i; Arcnode *p; for (i=0;in;i++) ∥求n个顶点的入度∥ { id[i]= 0; count=0; ∥入度值计数∥ p=G[i].fin; ∥取以vi为弧头的第一弧结点∥ while (p) { count++; p=p-hlink; } ∥取以vi为弧头的下一弧结点∥ id[i]=count; }} ∥入度赋值∥ data fin fout V0 ^ V1 V2 ^ V3 ^ V4 V5 ^ 0 1 2 3 4 5 4 5 4 3 ^ 1 5 ^ ^ 2 5 0 4 ^ 0 3 ^ 0 1 ^ ^ 2 1 ^ 图7.46 * 拓扑排序 void Topsort (Vexnode G[ ], int n) ∥对网G拓扑排序的算法∥ { int i,j,k,count,id[ ]; Arcnode *p; Creatid (G,n,id); ∥建立G的入度表id∥ Clearstack (s); ∥置栈空∥ for (i=0;in;i++) if (id[i]==0) Push (s,i); ∥入度为0的顶点序号进栈∥ count=0; ∥输出顶点计数∥ while (!Emptystack (s)) ∥栈非空时∥ { j=Pop (s); ∥退栈,栈顶赋给j∥ output (j,G[j].data); ∥输出vj∥ count++; p=G[j].fout; //取vj发出的第一条弧∥ while (p) { k=p-head; ∥取vj之后继vk∥ id[k]--; ∥vk的入度减1∥ if (id[k]==0) Push (s,k); ∥入度为0的顶点序号进栈∥ p=p-tlink; ∥取vj的下一后继∥ } } if (count==n) printf (“This graph has not cycle.”) else printf (“This graph has cycle.”); } id: 0 1 2 3 4 5 0 2 0 2 1 3 j 1 j 4 ^ vj 栈 … j … vj p 1 p 0 4 p=^ * 拓扑排序 对例7-16: V0 V1 V2 V3 V5 V4 入度表id: 0 1 2 3 4 5 0 2 0 2 1 3 栈 输出顶点: V0 V2 1 2 V2 V0 0 V4 1 0 V1 V1 1 V4 0 V5 0 V3 V3 V5 count==6 This graph has not cycle. * 7.6.2 关键路径 鉴定工程能够顺利完成后(即描述工程进程的是一个DAG),剩下的问题是估算工程的完成时间。与DAG对应的是AOE(Activity On Edge)网,即由边表示活动的网,实际上是一个带权的有向无环图。 在AOE网中,顶点称为“事件”,顶点间的弧表示“活动”,弧上的权值为活动的持续时间。 ?例7-17 设AOE网G19如下: 其中,ai(1≤i≤11)为活动(或一个子工程),其值表示ai完成所需的时间(天数);vi(0≤i≤8)为事件,每个事件表示在它之前的活动已完成,而在它之后的活动可以开始。如在G19中,v4表示a4、a5已经完成而a7、a8可以开始了。 V0 V1 V5 V3 V2 V8 V7 V6 V4 a1=6 a2=4 a3=5 a4=1 a5=1 a6=2 a7=9 a8=7 a9=4 a10=2 a11=4 图7.47 * 7.6.2 关键路径 将工程的起始点称为源点,即AOE网中入度等于0的顶点,如G19中的v0;而工程的结束点称为汇点,即出度等于0的顶点,如G19中的v8。一般一项工程只有一个源点和一个

文档评论(0)

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

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

1亿VIP精品文档

相关文档