请问这个拓扑排序的程序为什么会崩溃?

2025-01-25 09:26:44
推荐回答(1个)
回答1:

拓扑排序算法

  对AOV 网进行拓扑排序的方法和步骤是:

  1、从AOV 网中选择一个没有前驱的顶点(该顶点的入度为0)并且输出它;

  2、从网中删去该顶点,并且删去从该顶点发出的全部有向边;

  3、重复上述两步,直到剩余的网中不再存在没有前驱的顶点为止。

  这样操作的结果有两种:一种是网中全部顶点都被输出,这说明网中不存在有向回路;另一种就是网中顶点未被全部输出,剩余的顶点均不前驱顶点,这说明网中存在有向回路。

  以下图(a)中的有向图为例,图中v1,和v6没有前驱,则可任选一个。假设先输出v6,
在删除v6及弧,之后,只有顶点v1没有前驱,则输出vl且删去vl及弧、和,之后v3和v4都没有前驱。依次类推,可从中任选一个继续进行。最后得到该有向图的拓扑有序序列为: