对于连通的无向图,采用 Dijkstra 最短路径算法,在 Dist 数组中不能给出足够形成一棵支撑树的信息。
证明:Dijkstra 算法是基于贪心策略的最短路径算法,它每次求出一个顶点的最短路径后就将其标记为已经计算过的,并不考虑与其相连的边。因此,在 Dist 数组中并不包含所有的边的信息,也就不能形成一棵支撑树。
同时,也不能给出一棵最小支撑树。证明:最小支撑树是指构成一张图的所有边中,最小生成树所包含的边,而 Dijkstra 算法只能求出最短路径,并不能求出最小生成树。因此,也不能给出最小支撑树。
举反例说明:假设有一张无向图如下所示:
1---2---3 \ / 4