拓扑排序&&关键路径笔记

拓朴排序&&关键路径

补充知识 :

**有向无环图 :**简称DAG图,常用来描述一个工程或系统的进行过程。
一个工程可以分为若干个子工程,子工程全部完成,整个工程(活动)完成。

表示方法:
(1)**AOV网:**用一个有向图来表示表示一个工程的各个子工程相互制约的关系,以顶点表示活动,弧表示活动之间的优先制约关系。 即,顶点表示活动的网。
(2)**AOE网:**用一个有向图来表示表示一个工程的各个子工程相互制约的关系,以弧表示活动,以顶点表示活动的开始或者结束事件。 即,弧表示活动的网。

拓扑排序

联系实际,可以解决排课表问题。
比如安排课表时,c语言程序设计和离散数学必须在数据结构课程之前完成,是基础课程。 则需要有一定的先后关系。 拓扑排序则可以解决。
拓扑排序还可以判断网中是否存在回路问题。

拓扑排序方法:
从 i 到 j 有一天有向路径, i 是 j 的前驱,j 是 i 的后继,<i , j> 是网中有向边。在排序中保持 i 始终在 j 之前。
1、在有向图中选一个没有前驱的顶点且输出
2、从图中删除顶点和所有以它为尾的弧
3、重复上述两步,直至全部顶点均已输出,或者当图中不存在无前驱的顶点为止。

(一个AOV网的拓扑序列不唯一)
例如: 最终判断 AOV网中不存在回路。
判断条件,序列中包含所有的顶点,或者网中没有剩余有前驱的顶点。
AOV 可判断是否有回路

关键路径

AOE网,用顶点表示事件,弧表示活动,弧的权值表示活动持续的时间。

引入:
AOE
对于AOE网关注的两个问题:
1、完成整个工程至少需要多少时间?
2、哪些活动是影响工程进度的关键?

汇点:出度为0的顶点
源点:入度为0的顶点
关键路径:路径长度最长的路径
路径长度:路径上各活动持续时间之和
关键活动:活动的,最迟开始时间 - 最早开始时间=0 则为关键的活动。
最早发生时间+各自的边的权值中和的最大值=最早开始时间
汇点的时长-各自边的权值中差最小值=最早结束时间

用列表法求出四个关键时间,进行对比,得到关键活动,由此,由关键活动组成得到的就是关键路径了。

讨论:

注意可以适当的缩短某些关键活动的时间,但是 ,如果缩短的过短,则需要重新进行关键路径的查找,因为此时的关键路径可能并不是最关键的了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值