AOV网的定义——网的定义——ActivityOnVertexNetworkActivityOnVertexNetworki
用顶点表示活动,用弧表示活动间的优先关系的有向图,用顶点表示活动,用弧表示活动间的优先关系的有向图,称为顶点表示活动的网
称为顶点表示活动的网
AOV网中不能有回路网中不能有回路2
拓扑排序:i
假设G=(V,E)是一个具有n个顶点的有向图,V中顶点序列vl,v2,…,vn称做一个拓扑序列(TopologicalOrder),当且仅当该顶点序列满足下列条件:若在有向图G中存在从顶点vi到vj的一条路径,则在顶点序列中顶点vi必须排在顶点vj之前
通常,在AOV网中,将所有活动排列成一个拓扑序列的过程叫做拓扑排序(TopologicalSort)
由于AOV网中有些活动之间没有次序要求,它们在拓扑序列的位置可以是任意的,因此拓扑排序的结果不唯一
对图7-21进行拓扑排序,可得一个拓扑序列:C1,C2,C3,C4,C5,C8,C9,C7,C6也可得到另一个拓扑序列:C1,C2,C3,C8,C4,C5,C9,C7,C6还可以得到其它的拓扑序列
学生按照任何一个拓扑序列都可以完成所要求的全部课程学习
在AOV网中不应该出现有向环
因为环的存在意味着某项活动将以自己为先决条件,显然无法形成拓扑序列
判定网中是否存在环的方法:对有向图构造其顶点的拓扑有序序列,若网中所有顶点都出现在它的拓扑有序序列中,则该AOV网中一定不存在环
24/12/272拓扑排序算法拓扑排序算法前者说明AOV网中无回路,后者说明AOV网中存在回路
从AOV网中任选择一个没有前驱(即入度为0)的顶点;2
从AOV网中删除该顶点以及以该顶点为始点的所有边;3
重复上述过程,直到网中的所有顶点都被删除,或者网中还有顶点,但不存在入度为0的顶点