我想了解关于迪杰斯特拉算法和普林姆算法的问题,当它们在选择前往多个顶点时,如果有多个顶点具有相同的权重,会发生什么情况。
例如: 示例图片 http://img688.imageshack.us/img688/7613/exampleu.jpg
例如: 示例图片 http://img688.imageshack.us/img688/7613/exampleu.jpg
没关系。通常情况下,打破平局的方法是看哪个节点先被添加到优先队列中。
Dijkstra算法的目标是找到一条最短路径。如果您想找到所有最短路径,那么您就需要考虑如何解决平局。
可能会有多个最小生成树,无论您使用任何随意的决策规则,都可能得到不同的结果,但仍将是一个最小生成树。
例如,您可以想象一个三角形A-B-C,其中所有边缘权重都是1。在这种情况下,有三个最小生成树,并且它们都是最小的。
对于Dijkstra和最短路径生成树也是如此--可能会有多个最短路径生成树。
如果我错了,请纠正我,但是你的图没有任何可供Dijkstra算法应用的备选路径。