首页 > 其他 > 详细

7-10-有向网关键路径-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版

时间:2016-03-20 00:37:33      阅读:186      评论:0      收藏:0      [点我收藏+]

课本源码部分

第7章  图 - 有向网关键路径

——《数据结构》-严蔚敏.吴伟民版

       源码使用说明  链接??? 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

       课本源码合辑  链接??? 《数据结构》课本源码合辑

       习题集全解析  链接??? 《数据结构题集》习题解析合辑

 

       本源码引入的文件  链接? Status.hSequenceStack.cALGraph.c

       相关测试数据下载  链接? 数据包

 

      文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲07 图\10 CriticalPath

 

概述

       关键路径通常(但并非总是)是决定项目工期的进度活动序列,它是项目中最长的路径,即使很小浮动也可能直接影响整个项目的最早完成时间。

解析

       用顶点表示事件,弧表示活动,弧上的权值表示活动持续的时间的有向图叫AOE(Activity On Edge Network)网,在建筑学中也称为关键路线。AOE网常用于估算工程完成时间

       关键路径的算法建立在拓扑排序的基础之上,其计算方法简述为:

          1.输入e条弧<j,k>,建立AOE-网的存储结构

          2.拓扑排序,并求得ve[]。从源点V0出发,令ve[0]=0,按拓扑有序求其余各顶点的最早发生时间ve[i]。如果得到的拓扑有序序列中顶点个数小于网中顶点数n,则说明网中存在环,不能求关键路径,算法终止;否则执行步骤3。

          3.拓扑逆序,求得vl[]。从汇点Vn出发,令vl[n-1] = ve[n-1],按逆拓扑有序求其余各顶点的最迟发生时间vl[i]。

          4.求得关键路径。根据各顶点的ve和vl值,求每条弧s的最早开始时间e(s)和最迟开始时间l(s)。若某条弧满足条件e(s) = l(s),则为关键活动。

       注:此有向网使用了图的邻接表存储结构是为了方便进行拓扑排序。由于此处的邻接表存储结构中无结点的权值信息,故将有向网的权值信息放到了"弧的附加信息"中,也算是变通吧。当然,也可以通过修改原来的邻接表存储结构来应对此处的算法。

源码

       文件一 ?  CriticalPath.h 

技术分享 

       文件二 ?  CriticalPath.c 

技术分享技术分享 

       文件三 ?  CriticalPath-main.c (测试文档)

技术分享 

       文件四 ?  TestData_DG_AL.txt(有向网关键路径测试数据)

 技术分享

测试结果展示

 技术分享

       更多章节持续更新中...技术分享

7-10-有向网关键路径-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版

原文:http://www.cnblogs.com/kangjianwei101/p/5296741.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!