Dfs算法,用于确定有向图是否具有唯一的拓扑排序

时间:2017-12-30 01:30:20

标签: algorithm graph depth-first-search

我试图构建一个使用DFS的算法,以确定给定的有向图是否具有唯一的拓扑排序。
我解决这个问题的方法是只有特定的图形具有独特的拓扑排序。并且该图是类似链的图,其中所有顶点在一条线上彼此连接。 我的困境是如何做一个有效的DFS算法,以及我应该检查什么。

1 个答案:

答案 0 :(得分:1)

来自here

  

当且仅当拓扑顺序中每对连续顶点之间存在有向边(即,有向图具有哈密顿路径)时,有向图才具有唯一的拓扑排序。

因此,您运行DFS并且需要检查从起始顶点开始的最长路径是否具有长度| V |,然后您具有唯一的拓扑顺序。正如MattTimmermans指出的那样,这个图可以简化为一个"链图"。