给出连续加权有向图G =(V,E),直径k < | V |和 我试图找到一种方法来提供最有效(运行时)算法,以找到从S(源)到V中的任何节点v的最短路径。 我无法弄清楚如何使用给定的直径来提高算法效率?
谢谢你的帮助。
答案 0 :(得分:3)
直径根本没有帮助,你可以忽略它。 举一个极端的例子,一个完全连接的图。它的直径为1(每个节点只有一个链接)。
然而,你可以想象所有边缘都具有非常大的重量,除了像1-> 2-> 3-> 4-> 5-> ...>&gt; N的路径之外重量非常轻,因此路径必须通过低成本边缘,因此通过所有节点。
如果直径以重量表示,您可以优化dijkstra以忽略任何在直径上增长的更新。