多条哈密顿路径和拓扑排序

时间:2015-08-24 00:16:34

标签: graph directed-acyclic-graphs topological-sort

我们知道如果我们在DAG中有哈密顿路径,拓扑排序将是唯一的,但是如果我们有多个哈密顿路径,那么这并不意味着可以有多个拓扑排序:每个拓扑排序不同其中一条路径?

1 个答案:

答案 0 :(得分:3)

每个DAG要么具有零哈密顿路径,要么具有一个哈密顿路径。这是看待这个问题的一种方法。假设有两个或更多。看看那些彼此不同的汉密尔顿路径上的第一个节点;让我们称他们为x和y。这意味着在一条路径中,x在y之前,而在另一条路径中,y在x之前。但这意味着图中有一个循环:我们可以使用第一个汉密尔顿路径的子路径从x到y,然后我们可以使用第二个汉密尔顿路径的子路径从y到x。但这是不可能的,因为DAG不能有周期。

这意味着你所提出的主张是真实的 - "如果一个图有两条不同的哈密尔顿路径,那么它有两个不同的拓扑排序"是真的,因为前因总是错误的。