拓扑排序(感觉应该可以用队列来实现),急。。。
这几天重看数据结构的书,看到图算法时,基本上关于拓扑排序的方法都是用堆栈或者是DFS实现,自己想了一下。,感觉用队列也可以实现同样的效果。
算法如下:
1.从有向图中选择一个入度为零的顶点并输出。
2.从图中删除该顶点,并且删除所有从该顶点出发的弧,并将弧头对应的顶点入度减去1.
3.重复上述两步,指导顶点全部输出,完成排序。
4.若还有顶点没有输出,说明有环,排序失败。
实现时,一般是建立一个入度为零的栈,但是个人觉得建立一个入度为零的队列应该也一样,不知道大家怎么看,求指教。。。