【图论】有向无环图及其应用

本文介绍了有向无环图(DAG)的概念,重点讲解了拓扑排序的原理和算法实现,包括从有向图中选择无前驱顶点输出,并通过DFS寻找逆向拓扑有序序列。此外,还探讨了关键路径在AOE网中的应用,用于估计工程完成时间,以及如何求解最早开始时间和最迟开始时间来确定关键活动和关键路径。提高关键路径上活动的速度对缩短工程时间至关重要。
摘要由CSDN通过智能技术生成

本文为图论的学习总结,讲解有向无环图及其应用。

拓扑排序

由某个集合上的一个偏序得到该集合上的一个全序,这个操作称为拓扑排序。偏序指集合中仅有部分成员之间可比较,全序指集合中全体成员可比较。

AOV(Activity On Vertex)-网:用顶点表示活动,用弧表示活动间的优先关系的有向图。AOV-网中不能存在自环,检查自环的方法是:对有向图构造顶点的拓扑有序序列,若所有顶点都在序列中,则必定无自环。下图为一个 AOV-网,编程实现见【检查有向图自环】。

在这里插入图片描述

拓扑排序步骤为:

  1. 从有向图中选一个没有前驱的顶点并输出
  2. 从图中删除该顶点及其出边

重复上述两步直到所有顶点被输出,或当前图不存在无前驱的顶点为止。后一种情况说明有向图中有自环。算法复杂度为 O ( n + e ) O(n+e) O(n+e)

则上图中的拓扑有序序列为:
( C 1 , C 2 , C 3 , C 4 , C 5 , C 7 , C 9 , C 1 0 , C 1 1 , C 6 , C 1 2 , C 8 ) (C_1,C_2,C_3,C_4,C_5,C_7,C_9,C_10,C_11,C_6,C_12,C_8) (C1,C2,C3,C4,C5,C7,C9,C10,C11,C6,C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值