最短路徑,最短路徑樹和最小生成樹

2021-08-20 13:08:37 字數 720 閱讀 9022

首先介紹這三個概念,很多人都聽過最短路徑了,但是最短路徑樹卻很少聽過,關於最短路徑樹的介紹也不太多。而最短路徑樹和最小生成樹更是完全不同的兩個概念。

最短路徑就是從乙個指定的頂點出發,計算從該頂點出發到其他所有頂點的最短路徑。通常用dijkstra演算法,floyd演算法求解。

最短路徑樹spt(short path tree)是網路的源點到所有結點的最短路徑構成的樹。

最小生成樹是用和最少的邊集將乙個圖連成任意2點可達,並且這個邊集的總長度最小。保證整個拓撲圖的所有路徑之和最小。通常用prim演算法和kruskal演算法求解。

下面是最短路徑樹和最小生成樹的對比圖,原圖來**[1]。

原圖:

對比圖:

最短路徑樹圖                                    最小生成樹圖   

最短路徑樹的路徑總長度為75,最小生成樹的路徑總長度為67.

[1]楊曉花,武繼剛,史雯雋,趙國棟,穩定的最短路徑樹及其構造演算法[j],計算機工程與科學,2016,38(3):418-424.

最短路徑 最小生成樹

題目描述 n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離 輸入描述 第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路 接下來m行兩個整數,表示相連的兩個城市的編號 輸出描述 n 1行,表示0號城市到其他城...

最短路徑 最小生成樹

今天覆習的時候,剛好複習的這一塊,所以就簡單做乙個備忘,寫的潦草還望大家不要介意呀 1 dijistra演算法 思路 根據點集合將其分為兩個集合,一種是已經訪問過的點s集合 代表從源點到該集合中的點的距離最小 另一種是未訪問過的u集合,然後每次從u集合中選擇節點,使得源點到改點的距離最小,並新增進s...

最小生成樹和最短路徑

這篇算作是 演算法 第四版部分讀後感吧 我思考這個問題的開始就是糾結最小生成樹prim演算法和最短路徑dijkstra演算法的異同 1.最小生成樹prim演算法 直接從例子開始吧,我們考慮一副這樣的圖 1.將d設為起始點 設定某個點為起始點是隨機的 考慮與它相鄰節點的權重值,圖中黃色節點,也就是d ...