- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 算法描述 输入顶点和弧信息,建立其邻接表 计算每个顶点的入度 对其进行拓扑排序 排序过程中求顶点的Ve[i] 将得到的拓扑序列进栈 按逆拓扑序列求顶点的Vl[i] 计算每条弧的e[i]和l[i],找出e[i]==l[i]的关键活动 * 计算各顶点的Ve值在拓扑排序的过程中进行,需对拓扑排序的算法作如下修改: (a)在拓扑排序之前设初值,令ve[i]=0(1≤i≤n)。 (b)在拓扑排序的算法中增加一个计算Vj的直接后继Vk的最早发生时间的操作: 若 ve[j]+weight(j, k) ve[k] 则 ve[j]+weight(j, k) ? ve[k] (c)为计算各顶点的vl值,需记下逆拓扑有序序列可在拓扑排序算法中,增设一个栈S1记录拓扑有序序列。 两个数组:TimeType ve[n],vl[n] ; * a b c d e f g h k 6 4 5 2 1 1 8 7 2 4 4 0 0 0 0 0 0 0 0 0 6 4 5 7 7 15 14 17 18 18 18 18 18 18 18 18 18 16 14 7 6 6 10 8 3 拓扑序列为: a-b-c-e-g-d-f-h-k 18 2 0 0 1 2 3 4 5 6 7 8 a 3 5 2 4 1 6 ^ b 4 1 ^ c 4 1 ^ d 5 2 ^ e 7 7 6 8 ^ f 7 4 ^ g 8 2 ^ h 8 4 ^ k ^ a b c d e f g h k ve vl * void critical_path(AdjGraph g){ //为求ve[i],用栈s1存放入度为0的顶点序号; // 为求vl[i],用栈s2存放拓扑序列的顶点序号; ve[0..g.vexnum-1]=0;initstack(s1);initstack(s2); for(i=0;ig.vexnum;i++) if(g.adjlist[i].id==0)push(s1,i); //入度为0的顶点序号入栈 while (! empty(s1) ) { j=pop(s1); //取拓扑序列顶点序号 push(s2,j);//存拓扑序列顶点序号 p=g.adjlist[j].link; while (p≠NULL) { k= p→adjvex;g.adjlist[k].id--; if (g.adjlist[k].id ==0) push(s1,k); * if (ve[j]+p→weightve[k]) ve[k]=ve[j]+p→weight ; p = p→nextarc;} //end_while (p≠NULL) } //end_while(!emptp(s1)),求Ve[j]完成。 vl[0.. g.vexnum-1]=ve[g.vexnum-1];//初始化l[i]=vl[n] while(! empty(s2))// 按逆拓扑序列求各顶点的vl值 { j=pop(s2); p=g.adjlist[j].link; while( p≠NULL){ k= p→adjvex; if(vl[k]-p→weight )vl[j]) vl[j]=vl[k]-p→weight ); p = p→nextarc; } //end_while (p≠NULL) };//end_while(! empty(s2)),求Vl[j]完成。 * for(j=0;jg.vexnum;j++){//已知ve[i]、vl[i],求e和l p=g.adjlist[j].link; while( p≠NULL){ k= p→adjvex; e=ve[j];l=vl[k]- p→weight ; if(e= =l) tag=‘√’; else tag=‘ ‘;//标志关键活动 printf(j,k, p→weight ,e,l,tag) ; p = p→nextarc;} //end_while }
您可能关注的文档
- 数据挖掘6聚类探讨.ppt
- 人教版小学二年级语文上册第6课《我选我》探讨.ppt
- 数据挖掘(偶然看到比较好的)探讨.ppt
- 人教版小学二年级上册语文第十四课我要的是葫芦探讨.ppt
- 设计吉祥物探讨.ppt
- 人教版小学二年级上册数学《厘米的认识》探讨.ppt
- 设计安全规范探讨.ppt
- 人教版小学二年级上册《从现在开始》探讨.ppt
- 设计《江南地区的开发》_历史_初中810123探讨.ppt
- 汽车百年发展史探讨.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 建设项目环境影响评价现状评价报告-中化云龙有限公司.PDF VIP
- 智能家居门窗控制系统设计.doc VIP
- cpl随钻测井介绍资料.ppt VIP
- 关于医药行业上市公司财务分析--以恒瑞医药为例.docx VIP
- 乡村非遗文化传承与乡村振兴战略中的文化传承与产业融合报告.docx VIP
- 小学生课前准备课件.pptx VIP
- 大隐静脉曲张患者的术后护理研究进展.docx VIP
- cpl随钻测井介绍.pptx VIP
- 乡村非遗文化传承与乡村振兴战略中的文化传承与乡村振兴报告.docx VIP
- 2025年山东烟台莱阳市结合事业单位招聘征集本科及以上学历毕业生入伍笔试备考题库及答案详解一套.docx VIP
文档评论(0)