这里以一个例子为例:
这是一个无环有向图,求出它是否有拓扑排序。
思路是:
1.随便挑一个未访问的点入栈,这里以a为例,遍历a的出度的有向边,则遍历到b,再遍历b的出度的有向边,发现没有了。即此时深度搜索到头了,那么把b出栈,并放入t数组尾部.
2.然后栈中只有a了,再找是否还有和 a相连的有向边。发现没有了。那么再次进行步骤1。依次递归下去...
这里以一个例子为例:
这是一个无环有向图,求出它是否有拓扑排序。
思路是:
1.随便挑一个未访问的点入栈,这里以a为例,遍历a的出度的有向边,则遍历到b,再遍历b的出度的有向边,发现没有了。即此时深度搜索到头了,那么把b出栈,并放入t数组尾部.
2.然后栈中只有a了,再找是否还有和 a相连的有向边。发现没有了。那么再次进行步骤1。依次递归下去...