No.3拓扑排序和关键路径
来源:互联网 发布:万能摄像头软件下载 编辑:程序博客网 时间:2024/06/05 19:25
No.3拓扑排序和关键路径
一.AOV网和拓扑排序
以顶点表示活动,有向边表示活动之间的优先关系,则称这样的有向图为AOV网(顶点活动图)
特点:一个AOV网必定是一个有向无环图,即不应该带有回路。
将有向无环图G中所有顶点排成一个序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。
这样的线性序列称为满足拓扑次序(TopologicalOrder)的序列,简称拓扑序列。
拓扑排序算法思想:
1.选择一个入度为0的顶点并输出;
2.然后从AOV网中删除此顶点及以此顶点为起点的所有关联边;
3.重复上述两步,直到不存在入度为0的顶点为止;
4.若输出的顶点数小于AOV网中的顶点数,则说明“有回路”,否则输出的顶点序列就是一种拓扑序列。
二.AOE网
用顶点表示事件,弧表示活动,边上的权值表示该活动持续的时间——AOE网(ActivityOn Edge)——也叫边表示活动的网。
事件表示在它之前的活动已完成,在它之后的活动可以开始。
性质:
①只有在某顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始。
②只有在进入某点的各有向边所代表的活动都已结束,该顶点所代表的时事件才能发生。
相关术语:
路径长度——路径上各活动持续时间之和
关键路径——路径长度最长的路径
Ve(j)——表示事件Vj的最早发生时间
Vl(j)——表示事件Vj的最迟发生时间
e(i)——表示活动ai的最早开始时间
l(i)——表示活动ai的最迟开始时间
l(i)-e(i)——表示完成活动ai的时间余量
关键活动——关键路径上的活动
重难点:
关键路径问题:
由关键活动构成
①从源点V1出发,令Ve[1]=0,按拓扑序列求各顶点的Ve[i]
②从汇点Vn出发,令Vl[n]=Ve[n],按逆拓扑序列求其余各顶点的Vl[i]
③根据各顶点的Ve和Vl值,计算每条弧的e[i]和l[i],找出e[i]=l[i]的关键活动
算法思想:
1-输入顶点和弧信息,建立其邻接表
计算每个顶点的入度
2-对其进行拓扑排序
2.1-排序过程中求顶点的Ve[i]
2.2-将得到的拓扑序列进栈
3-按逆拓扑序列求顶点的Vl[i]
4-计算每条弧的e[i]和l[i],找出e[i]=l[i]的关键活动
在熟练掌握图的存储的基础上运用拓扑排序,逆拓扑排序,编程难度较大,需要多多练习。
图论部分概念多且抽象,需要大量的手动模拟来弄清楚算法的意义。
0 2
- No.3拓扑排序和关键路径
- 拓扑排序和关键路径
- 拓扑排序和关键路径
- 拓扑排序和关键路径
- 拓扑排序和关键路径
- 拓扑排序和关键路径
- 拓扑排序和关键路径
- 拓扑排序和关键路径
- 拓扑排序关键路径
- 拓扑排序,关键路径
- 拓扑排序&关键路径
- 拓扑排序--关键路径
- 关键路径 + 拓扑排序
- 图(五)关键路径和拓扑排序
- 图(拓扑排序和关键路径)
- 拓扑排序和关键路径算法实现
- 图(3)--拓扑排序与关键路径
- 拓扑排序与关键路径
- android中使用底部菜单栏造成Viewpager+fragment中ListView数据被隐藏一条的解决
- 分布式任务(Worker)处理方案
- 3D木门家居建材行业的时尚弄潮儿
- 自定义view
- CSS 改变 li 样式的三种方法
- No.3拓扑排序和关键路径
- Convert Sorted Array to Binary Search Tree
- Sphinx
- BestCoder 2nd Anniversary
- Python - 数字类型
- July 17th 模拟赛C T1 Gift Solution
- JZOJ 4638 第三条跑道 【NOIP2016提高组A组7.16】
- [NOIP 2015]Day.1 T2 信息传递 【最小环】
- LintCode_401 Kth Smallest Number in Sorted Matrix