让我们假设所讨论的图是DAG(有向无环图)。
问题:我是否可以得出这样的结论:当且仅当其中一个顶点没有传入边时,此图将具有唯一的拓扑排序?
换句话说,只有一个顶点没有必要(但不够)的入射边缘来生成唯一的拓扑排序?
答案 0 :(得分:11)
当且仅当拓扑顺序中每对连续顶点之间存在有向边(即,有向图具有Hamiltonian path)时,拓扑排序才是唯一的。 Source
哈密顿路径只意味着两个顶点之间的路径只会访问每个顶点一次,但这并不意味着一个顶点必须没有传入边。您可以拥有一条哈密尔顿路径,实际上是cycle。这仍然会产生一种独特的拓扑排序(当然,如果这对你来说很重要,它也会是一个循环)。
希望这有帮助
答案 1 :(得分:3)
Haaaaa,好的。对不起有误。
在这种情况下,我认为你是对的,这是一个证明草图:
我们有一个独特的topologiacl sot =>我们只有一个顶点,它可以放在第一位=>对于每个顶点,执行一个,放在第一位并不是很好的=>对于每个顶点,只需要一个顶点,我们就会有无用的边缘。
希望现在我回答了你的问题......
答案 2 :(得分:2)
没有!下图只有一个没有入边的顶点,有两种可能的解决方案。
1 -> 2
3 -> 4
3 -> 1
4 -> 2
两种解决方案是:
2 0 3 1
2 3 0 1
答案 3 :(得分:0)
是的,你可以说这是一个必要条件,好像有多个节点,其中in-degree = 0,那么就不会有哈密顿路径,因此没有唯一的拓扑顺序。仅对于图的起始节点(in-degree = 0)将没有入射边缘,其余所有顶点必须具有来自其拓扑祖先的入射边缘,这意味着节点在拓扑排序中位于当前节点之前。如果拓扑排序中的每个连续节点都没有边缘,则DAG将不具有唯一的顺序。
答案 4 :(得分:0)
有人给出了答案。在这里,我只想给你一个反例:G = {(1,2),(1,3)}。在这种情况下,有2种有效的拓扑排序:1,2,3和1,3,2