Graph 多重哈密顿路径与拓扑排序

Graph 多重哈密顿路径与拓扑排序,graph,directed-acyclic-graphs,topological-sort,Graph,Directed Acyclic Graphs,Topological Sort,我们知道,如果我们在DAG中有一个哈密顿路径,拓扑排序将是唯一的,但是如果我们有多个哈密顿路径,这是否意味着可以有多个拓扑排序:每一个路径都有一个不同的拓扑排序?每个DAG要么有零个哈密顿路径,要么有一个哈密顿路径。这里有一种方法可以看出这一点。假设有两个或更多。看看这些哈密顿路径上彼此不同的第一个节点;我们叫他们x和y。这意味着在一条路径中,x在y之前,而在另一条路径中,y在x之前。但这意味着在图中有一个循环:我们可以使用第一个哈密顿路径的子路径从x到y,然后我们可以使用第二个哈密顿路径的子路

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

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


这意味着你所说的完全正确——“如果一个图有两个不同的哈密顿路径,那么它有两个不同的拓扑顺序”是正确的,因为前面的条件总是错误的。

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


这意味着你所说的完全正确——“如果一个图有两个不同的哈密顿路径,那么它有两个不同的拓扑顺序”是正确的,因为前面的条件总是错误的。

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


这意味着你所说的完全正确——“如果一个图有两个不同的哈密顿路径,那么它有两个不同的拓扑顺序”是正确的,因为前面的条件总是错误的。

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


这意味着你所说的完全正确——“如果一个图有两个不同的哈密顿路径,那么它有两个不同的拓扑顺序”是正确的,因为前面的条件总是错误的。

这只是一个数学问题吗?我在读拓扑排序,我对它与哈密顿路径的关系感到困惑。这只是一个数学问题吗?我在读关于拓扑排序的书,我对它与哈密顿路径的关系感到困惑。这只是一个数学问题吗?我在读关于拓扑排序的书,我对它与哈密顿路径的关系感到困惑。这只是一个数学问题吗?我在读关于拓扑排序的书,我对它与哈密顿路径的关系感到困惑。我明白了,所以拓扑排序在有圈的图上是不可能的,对吧?@Edmeral Yep,没错。我明白了,所以拓扑排序在有圈的图上是不可能的,对吧?@Edmeral Yep,没错。我明白了,所以拓扑排序在有圈的图上是不可能的,对吧?@Edmeral Yep,没错。我明白了,所以拓扑排序在有圈的图上是不可能的,对吧?@Edmeral Yep,没错。