目录
一、概念
1.DAG图:无环的有向图称作有向无环图
2.AOV网(顶点活动网):将顶点表示活动,边表示活动之间的关系的网称为顶点活动网
3.拓扑序列:把AOV网中所有顶点排成一个线性序列,且该序列满足如下条件:若AOV网中存在从A到B的路径,则此序列中A必须在B之前
4.拓扑排序:构造AOV网的拓扑序列的操作被称为拓扑排序
5.AOE网:带权有向图,顶点表示事件,边表示活动,权表示活动持续的时间
6.AOE网特点:
6.1表示实际工程计划的AOE网是无环的
6.2只有一个入度为0的顶点,用来表示整个活动开始:源点
6.3只有一个出度为0的顶点,用来表示整个活动结束:汇点
6.4整个工程所需要的时间是从源点到汇点的最长路径长度(最短时间保证工程必须做完)
6.5最长路径上的活动是影响工程进度的关键
7.关键路径:(长度最长的路径)在AOE网中,有些活动可以同时进行,完成一个工程所需的最短时间是从源点到汇点的最长路径长度
8.关键活动(边):关键路径上的活动(延长必定影响活动,缩短不一定能缩短工期)(最早发生时间与最迟发生时间相等)
9.事件(点)的最早发生时间与最迟发生时间:
9.1事件A的最早发生时间是从源点到A的最长路径长度
9.2事件A的最迟发生时间是汇点的最早发生时间减去汇点到A的最长路径长度
10.活动(边)的最早开始时间与最迟开始时间
10.1活动<A,B>的最早开始时间是A的最早发生时间
10.2活动<A,B>的最迟开始时间为B的最迟发生时间减去<A,B>的持续时间
二、拓扑排序算法
1.拓扑排序特点:
1.1一个有向图的拓扑序列不一定唯一
1.2有向无环图一定存在拓扑序列
1.3有向有环图不存在拓扑序列
1.4通过构造拓扑序列,可判定AOV网是否存在环
2.基本思想:
2.1在有向图中选出一个入度为0的顶点输出(入栈)
2.2从图中删除该顶点以及它所有的出边(出栈操作)
2.3重复执行2.1和2.2,直至全部顶点均已输出,或者图中剩余顶点的入度均不为0(有环)
3.算法分析:邻接表时间复杂度为O(n+e),邻接矩阵时间复杂度为O(n^2)
三、关键路径算法
1.求关键活动算法基本思想:
1.1求每个事件的最早发生时间与最晚发生时间
1.2根据每个事件的最早发生时间和最晚发生时间求得每个活动得最早开始时间与最迟开始时间
1.3找到最早开始时间与最迟开始时间相等的活动---关键活动
1.4关键路径算法分析:邻接表时间复杂度O(n+e),邻接矩阵时间复杂度O(n^2)
希望大家一起学习,共同进步,如果有疑问或错误欢迎联系笔者。