Graph 最短路径数与节点数成指数关系(Dijkstra)

Graph 最短路径数与节点数成指数关系(Dijkstra),graph,graph-algorithm,dijkstra,Graph,Graph Algorithm,Dijkstra,我被要求找出一种图,它的最短路径总数(使用Dijkstra算法)与节点数成指数关系。 我想出了一个这样的图表: A->B->C(每个边的重量为1) A->C(重量为2的边缘) C->A'->B'(所有边的重量=1) C->B'(重量=2) B'->A'->B''(所有边的重量=1) B'->B''(重量=2) 等等 这样,Dijkstra算法为该图找到的最短路径总数将为Ω(2^(n/2))。 我现在想弄清楚,它是否可以用Ω(2^(n/k))来概括,其中k=每个节点的最短路径数。我也不知道,我怎样

我被要求找出一种图,它的最短路径总数(使用Dijkstra算法)与节点数成指数关系。 我想出了一个这样的图表:

A->B->C(每个边的重量为1) A->C(重量为2的边缘)

C->A'->B'(所有边的重量=1) C->B'(重量=2)

B'->A'->B''(所有边的重量=1) B'->B''(重量=2)

等等

这样,Dijkstra算法为该图找到的最短路径总数将为Ω(2^(n/2))。 我现在想弄清楚,它是否可以用Ω(2^(n/k))来概括,其中k=每个节点的最短路径数。我也不知道,我怎样才能正确地证明这个解决方案的正确性。任何建议或暗示都非常感谢! 如果您能指出我的解决方案中存在的任何缺陷,我也将不胜感激


提前谢谢

您的解决方案是一个很好的起点。通过这种方式,每添加几个节点,解决方案的数量就可以增加一倍。然而,我并没有立即看到每个节点如何拥有大约相同数量的最短路径。这可能导致平均值降低,从而使您的提案无效

为了解决这个问题,你可以对你的图表做2点轻微的调整:使它循环并添加更多的链接

使其具有周期性: 您应该将起始节点与最后一个节点连接起来。这将使图中的每个节点相等,因此所有节点都具有相同数量的最短路径

添加更多链接: 在您的示例中,您为节点A提供了指向节点B的链接和指向节点C的链接。您还应该为节点B提供指向节点C(已确定)的链接和指向节点A'的链接。这两者相等


为了证明正确性,现在可以计算1个节点到所有其他节点的不同路径数,这对于图中的所有节点都是有效的结果(这就是它们应该相等的原因)。为了证明指数性,您可以看看如果向图形中添加更多节点会发生什么,以及这会如何影响解决方案的数量。

只是要明确一点:您想要设计一个在两个节点之间具有指数数量(最短)路径的图。这两个节点是固定的还是任意两个节点之间的路径数应该是指数级的?您好@Origin,谢谢您的回复!实际上,我想要一个图,它的最短路径的总数量与节点的数量成指数关系(即,一些节点可能比其他节点的路径更少,但最重要的是整个图的最短路径的总数量)。也许我给出了一个更一般的解决方案。它不必仅在2个节点之间。最短路径的总数可能可以表示为Ω(c^(n/k))。这就是我要找的。我希望这有助于澄清一些事情!