拓扑排序

来源:互联网 发布:matlab矩阵求交集 编辑:程序博客网 时间:2024/06/05 23:56
在AOV网中,若不存在回路,则所有活动可排列成一个线性序列,使得每个活动的所有前驱活动都排在该活动的前面,我们把此序列叫做拓扑序列(Topological order),由AOV网构造拓扑序列的过程叫做拓扑排序(Topological sort)。AOV网的拓扑序列不是唯一的,满足上述定义的任一线性序列都称作它的拓扑序列。[本段摘自百度百科]
由AOV网构造出拓扑序列的实际意义是:如果按照拓扑序列中的顶点次序,在开始每一项活动时,能够保证它的所有前驱活动都已完成,从而使整个工程顺序进行,不会出现冲突的情况。[本段摘自百度百科]
那么拓扑排序的整个过程为:一个AOV网 G ,
1:从 G 中选择一个没有前驱节点,输出该点 a 。
2:从 G 中删除 a 和 a 的边。
3:重复 1,2 知道没有不存在前驱节点的顶点为止。如果所有顶点都被输出那么说明不存在回路结束,如果没有全部输出那么说明存在回路。
0 0
原创粉丝点击