- 1、本文档共205页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
有了每个事件的最早发生时间,就可以求出每个事件的最迟发生时间,进一步可求出每个活动的最早开始时间和最晚开始时间,最后就可以求出关键路径了。 求关键路径的算法实现如下: int CriticalPath(AdjList G) { ArcNode *p; int i, j, k, dut, ei, li; char tag; int vl[MAX_V_N]; /*顶点的最迟发生时间*/ int ve[MAX_V_N]; /*每个顶点的最早发生时间*/ Stack *T; if(!TopoOrder(G, T)) return(Error); //T为返回拓扑序列的栈 4 3 5 5 ^ ^ 2 5 ^ 2 ^ 4 ^ 1 3 4 2 5 6 ^ for(i=0; iG.vexnum; i++) vl[i]=ve[i]; /*初始化顶点事件的最迟发生时间*/ while(!StackEmpty(T)) /*按逆拓扑顺序求各顶点的vl值*/ { j = Pop(T); p=G.vertex[j].firstarc; while(p! =NULL) { k=p-adjvex; dut=p-weight; if(vl[k]-dut vl[j]) vl[j]= vl[k]-dut; p=p-nextarc; } /* while */ } /* while*/ //T为返回拓扑序列的栈,由TopoOrder(G, T)函数获得 k1 j k2 for(j=0; jG.vexnum; j++) /*求ei, li和关键活动*/ { p = G.vertex[j].firstarc; while(p! =NULL) { k=p-Adjvex; dut=p-weight; ei=ve[j]; li = vl[k]-dut; tag=(ei==li) ?′*′: ′ ′; printf(“%c, %c, %d, %d, %d, %c\n”, G.vertex[j].data, G.vertex[k].data, dut, ei, li, tag); /*输出关键活动*/ p=p-nextarc; } /*while*/ } /* for */ return(Ok); } /*CriticalPath*/ j k ai 拓扑排序算法的实现: 由于有向图的存储形式的不同,拓扑排序算法的实现也不同。 1) 基于邻接矩阵表示的存储结构 A为有向图G的邻接矩阵, 则有: ? 找图G中无前驱的顶点 ——在A中找到值全为0的列; ? 删除以i为起点的所有弧 ——将矩阵中i对应的行全部置为0。 2) 基于邻接表的存储结构 入度为零的顶点即为没有前驱的顶点, 我们可以附设一个存放各顶点入度的数组indegree[ ],于是有: ? 找G中无前驱的顶点 ——查找indegree[i]为零的顶点vi; ? 删除以i为起点的所有弧 ——对链在顶点i后面的所有邻接顶点k,将对应的indegree[k] 减1。 为了避免重复检测入度为零的顶点,可以再设置一个辅助栈,若某一顶点的入度减为0,则将它入栈。每当输出某一入度为0的顶点时,便将它从栈中删除。 3 2 1 0 4 例 1 2 3 4 5 6 4 3 5 5 ^ vex next ^ 2
您可能关注的文档
- 反洗钱业务知识测库总汇.doc
- 反洗钱工作心得总汇.doc
- 2016高三病句辨析二轮复习总汇.doc
- 2016高考作文素材最后定稿总汇.doc
- 2016高考作文素材总汇.doc
- 2016高考语文二轮复习保温练20语言文字运用+名句默写+文学类文本阅读(六)总汇.doc
- 2016高考英语二轮复习:高考常考的动词短语总汇.doc
- 2016高考选择7题备考知识总汇.doc
- 2016高考物理一轮章末定时练7恒定电流总汇.doc
- 2016高考物理一轮章末定时练5曲线运动万有引力定律及其应用总汇.doc
- 2026届高考数学总复习(第1轮)基础版第50讲 直线的方程.pptx
- 《关于组织开展能源领域氢能试点工作的通知》解读及对策.docx
- 二年级数学奇妙的动物世界跨学科项目化学习设计.docx
- 高一美术传承与创新中国近现代美术思政融合课教学设计.docx
- 2025年湖北省省直辖行政单位选调生考试(行政职业能力测验)综合能力测试题带答案.docx
- 2025年温州医科大学仁济学院单招语文测试模拟题库附答案.docx
- 2025年清远职业技术学院单招(语文)测试模拟题库附答案.docx
- 2025年湖北省咸宁市事业单位招聘考试(职业能力倾向测验)题库及答案1套.docx
- 2025年温州大学单招语文测试题库有答案.docx
- 2025年湖北省荆州市单招语文测试模拟题库a4版.docx
文档评论(0)