目录
有向无环图
有向无环图:那些无环的有向图,简称DAG图(Directed Acycline Graph)
有向无环图常用来描述一个工程或系统的进行过程。(通常把计划、施工、生产、程序流程等当成是一个工程),一个工程可以分成若干个子工程,只要完成了这些子工程(活动),就可以导致整个工程的完成。
AOV网(拓扑排序)
用一个有向图表示一个工程的各子工程及其相互制约的关系,其中以顶点表示活动,弧表示活动之间的优先制约关系,称这种有向图为顶点表示活动的网,简称AOV网(Activity On Vertex network)。
AOE网(关键路径)
用一个有向图表示一个工程的各子工程及其相互制约的关系,以弧表示活动,以顶点表示活动的开始或结束事件,称这种有向图为边表示活动的网,简称为AOE网(Activity On Edge)。
AOV网的特点
1.若从i到j有一条有向路径,则i是j的前驱;j是i的后继。
2.若<i,j>是在AOV网中存在的有向弧,则i是j的直接前驱,j是i的直接后继。
3.AOV网中不允许有回路,因为如果有回路存在,则表明某项活动以自己为先决条件,显然这是荒谬的。
拓扑排序
在AOV网没有回路的前提下,我们将全部活动排列成一个线性序列,使得若AOV网中有弧<i,j>存在,则在这个序列中,i一定排在前面,具有这种性质的线性序列称为拓扑有序序列,相应的拓扑有序排序的算法称为拓扑排序。
拓扑排序的方法:
1.在有向图中选一个没有前驱的顶点且输出之‘
2.从图中删除该顶点和所有以它为尾的弧。
3.重复上述两步,直至全部顶点均已输出;或者当图中不存在无前驱的顶点为止。
拓扑排序的重要应用:
检测AOV网中是否存在环的方法:对有向图构造其顶点的拓扑有序序列,若网中所有顶点都在它的拓扑有序序列中,则该AOV网必定不存在环。
否则存在环的图为下图所示: