拓扑排序算法
对AOV 网进行拓扑排序的方法和步骤是:
1、从AOV 网中选择一个没有前驱的顶点(该顶点的入度为0)并且输出它;
2、从网中删去该顶点,并且删去从该顶点发出的全部有向边;
3、重复上述两步,直到剩余的网中不再存在没有前驱的顶点为止。
这样操作的结果有两种:一种是网中全部顶点都被输出,这说明网中不存在有向回路;另一种就是网中顶点未被全部输出,剩余的顶点均不前驱顶点,这说明网中存在有向回路。
以下图(a)中的有向图为例,图中v1,和v6没有前驱,则可任选一个。假设先输出v6,
在删除v6及弧,之后,只有顶点v1没有前驱,则输出vl且删去vl及弧、和,之后v3和v4都没有前驱。依次类推,可从中任选一个继续进行。最后得到该有向图的拓扑有序序列为: