回答
Dijkstra算法为最短路径(不MST),但类似于Dijkstra算法的东西,如修改,以找到一个最小生成树,是称为Prim算法。 Prim的算法保持一个增长的树,直到它横跨整个图。这里引入的额外约束并不会造成太大的困难:您只需从X-Y开始,作为您的树。
具体来说,假设你的MST必须包含边(X,Y)(如果有多个这样的边选择最小权重),那么从你的树开始,有两个节点X和Y以及它们之间的边。现在,在每一步选择最小边(u,v),其中u在树中,v在外部,将节点v和边(u,v)添加到树中,然后重复。
+1为Prim的算法,非常有趣http://en.wikipedia.org/wiki/Prim%27s_algorithm – 2011-06-01 14:51:12
我可以在Prim's中简单地做到这一点,但问题是与使用Dijkstra找到MST与提到的限制 – coder9 2011-06-02 01:06:16
Dijkstra不会找到你一个MST。考虑三条边的简单图形,AB成本4,BC成本5和AC成本7. Dikjstra总是希望选择AB和AC作为AC的最短路径7,但总树权重为12.但是Prim的意志总是选择AB和BC,因为树的总重量是9,尽管从A到C的最短路径也是9.算法非常相似,但我永远不会调用与后来的Dijkstra相似的东西。如果这是一项家庭作业,也许教授只是想让你意识到Dijkstra是否容易进入Prim的算法? – 2011-06-02 01:18:45
- 1. Dijkstra的算法问题[转贴]
- 2. 我的Dijkstra算法有什么问题
- 3. Dijkstra的最短路径算法问题
- 4. Python Dijkstra算法
- 5. Dijkstra算法
- 6. Dijkstra算法C
- 7. Dijkstra算法辅助
- 8. Dijkstra算法与Gremlin
- 9. 堆在Dijkstra算法
- 10. Python - Dijkstra的算法
- 11. Dijkstra算法中的未访问节点?
- 12. 我的Dijkstra算法中可能存在的free()问题
- 13. 在C语言问题中实现Dijkstra算法
- 14. Dijkstra的算法 - 优先级队列问题
- 15. Dijkstra算法:邻接矩阵复杂性问题
- 16. 给Dijkstra算法的Prims算法
- 17. Dijkstra的算法 - 复杂度
- 18. iOS上的dijkstra算法
- 19. Dijkstra的算法和循环
- 20. Boost的Dijkstra算法教程
- 21. Dijkstra在CUDA中的算法
- 22. Dijkstra的负重算法
- 23. Dijkstra算法优化/缓存
- 24. Dijkstra的算法终止
- 25. Cytoscape Dijkstra算法关闭?
- 26. Dijkstra算法的修改
- 27. Dijkstra算法上用C
- 28. 的getPath()Dijkstra算法用C
- 29. Dijkstra在Java中的算法
- 30. Dijkstra算法运行时间
Dijkstra找不到MST。 – Waldheinz 2011-06-01 14:13:03
是的。它需要在这种情况下被修改 – coder9 2011-06-02 00:53:33
检查这[问题](http://stackoverflow.com/questions/1909281/use-dijkstras-to-find-a-minimum-spanning-tree) – 2011-06-01 14:11:26