求关键活动算法

求关键活动算法(严蔚敏版,附详细注释)

一些基本概念,可以直接跳过查看算法:

AOE网

在这里插入图片描述

关键路径

在这里插入图片描述

在这里插入图片描述
在AOE网中,一个顶点表示一个工程事件,而一条边表示一个活动。

关键活动

在这里插入图片描述
简单理解:当该弧的最早发生时间与最晚发生时间相同时,该活动(即为弧)即为关键活动。

算法实现(伪代码)

关于具体算法中用到的四个数组的意义与算法的实现流程,这里仅在代码中简单解释,具体理解请自行查阅资料。
具体算法思想为一遍拓扑排序,并用栈实现一次拓扑逆序,算法伪代码为严蔚敏数据结构书中,附详细注释。

//变量说明:ve数组表示各事件最早发生时间,其求法为拓扑排序,正序所有发生时间中最大的。 
//vl数组为各事件最晚发生时间,其求法为拓扑逆序,逆序事件中所有发生事件最早的。 

Status TopologicalOrder(ALGraph G,Stack &T)
//有向网采取邻接表存储结构,求各顶点事件的最早发生时间ve(全局变量)
//T为拓扑排序顶点栈,S为零入度顶点栈。
//若G无回路,则用栈T返回G的一个拓扑序列,且函数值为OK,否则返回ERROR。 
{
   
	FindInDegree(G,indegree);   //对各顶点求入读;
	建零入读顶点栈S; 
	InistStack(T);
	count=0;  Ve[0->G.vexnum-1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值