数据结构课程设计:拓扑排序和关键路径
精品文档
1 ABSTRACT
1.1图和栈的结构定义
struct SqStack////栈部分 {
};
/////////AOE网的存储结构 struct ArcNode //表结点 {
int lastcompletetime;//活动最晚开始时间 int adjvex; //点结点位置 int info; //所对应的弧的权值
struct ArcNode *next;//指向下一个表结点指针 };
struct VNode //点结点 {
VertexType data; //结点标志 int indegree; //该结点入度数 int ve; //记录结点的最早开始时间 int vl; //记录结点的最晚开始时间
struct ArcNode *first_out_arc; //存储下一个出度的表结点 struct ArcNode *first_in_arc;//存储下一个入度的表结点 };
struct ALGraph
收集于网络,如有侵权请联系管理员删除
SElemType *base;//栈底指针 SElemType *top;//栈顶指针 int stacksize;//栈的大小
int element_count;//栈中元素个素
精品文档
{ VNode *vertices; //结点数组 int vexnum; //结点数 int arcnum; //弧数 int kind; //该图的类型 };
2 系统总分析
2.1关键路径概念分析 2.1.1什么是关键路径
关键路径法(Critical Path Method, CPM)最早出现于20世纪50年代,它是通过分析项目过程中哪个活动序列进度安排的总时差最少来预测项目工期的网络分析。这种方法产生的背景是,在当时出现了许多庞大而复杂的科研和工程项目,这些项目常常需要运用大量的人力、物力和财力,因此如何合理而有效地对这些项目进行组织,在有限资源下以最短的时间和最低的成本费用下完成整个项目就成为一个突出的问题,这样CPM就应运而生了。 对于一个项目而言,只有项目网络中最长的或耗时最多的活动完成之后,项目才能结束,这条最长的活动路线就叫关键路径(Critical Path),组成关键路径的活动称为关键活动。
2.1.2关键路径特点
关键路径上的活动持续时间决定了项目的工期,关键路径上所有活动的持续时间总和就是项目的工期。 关键路径上的任何一个活动都是关键活动,其中任何一个活动的延迟都会导致整个项目完工时间的延迟。
收集于网络,如有侵权请联系管理员删除