假设我们有一个无向图:
{A,B} 5
{A,C} 6
{A,D} 3
{A,E} 4
{B,C} 4
{B,D} 3
{B,E} 6
{C,D} 3
{C,E} 5
{D,E} 5
其中数字代表重量。
假设我有兴趣从 A 出发并参观 B、C 和 E。我怎样才能找到最短的路线来进行这次旅行?没有目的地,我只想通过旅行最短距离的那三个顶点。我在堆的帮助下使用 Dijkstra 算法,我如何修改算法来实现这一点,因为没有最终目的地。
一种简单的方法,可能不是最有效的,但易于实施。
其他可能的方法,在这里,最后有一个相对复杂度的比较表: