《算法笔记》读书记录DAY_51

CHAPTER_10  提高篇(4)——图算法专题

10.7.1AOV网和AOE网

顶点活动网(AOV)是指用顶点表示活动,而用边集表示活动间优先关系的有向图。若网中所有活动均可以排出先后顺序(任两个活动之间均确定先后顺序),则称网是拓扑有序的,求拓扑序列就是求AOV。

边活动网(AOE)是指用带权的边集表示活动,而用顶点表示事件的有向图。例如下图,边a1-a6表示需要学习的课程,也就是“活动”;边权表示课程学习需要消耗的时间;顶点V1-V6表示到此刻为止前面的课程已经学完,后面的课程已经可以开始学习了,也就是“事件”。显然,“事件”仅代表一个中介状态。

一般来说,AOE网用来表示一个工程的进行过程,AOE网不应当有环。考虑到对工程来说总会有一个起始时刻和结束时刻,因此AOE网一般只有一个源点(入度为0)和一个汇点(出度为0)。AOE网的提出是需要着重解决两个问题:a.工程起始到终止至少需要多少时间;b.哪条(些)路径上的活动是影响整个工程进度的关键。

以上图为例,由于完成a1空间解析几何、a3复变函数、a5实变函数共需要120天,因此在a2高等代数的前提下,a4计算方法可以有40天的弹性时间,即只要在第41-81天开始学习a4计算方法,都能赶在a5实变函数之前完成,从而进入a6泛函分析的学习。显然,a1、a3、a5、a6这四个活动最为关键,因为推迟这个4个中任意一个的开始时间,都会使整个工程的完成时间变长。AOE网中的最长路径被称为关键路径(强调:关键路径就是AOE网的最长路径),而把关键路径上的活动称作关键活动

10.7.2最长路径

回顾10.4节中讲解了如何求解最短路径,这里简单介绍下如何求解最长路径长度。

对一个没有正环的图(指从源点可达的正环),如果需要求最长路径长度,则可以把所有边权乘以-1,再使用Bellman-Ford算法或SPFA算法求最短路径长度,最后将所得结果取反即可。显然,如果图中有正环,那么最长路径是不存在的。

如果要求有向无环图的最长路径问题,求法在下面的10.7.3小节讨论。

猜你喜欢

转载自blog.csdn.net/jgsecurity/article/details/121193910