1. 程式人生 > >07數據結構——圖

07數據結構——圖

數據 http 重復 code color 其中 頂點 圖的定義 類型

7.2 圖的定義

圖是由頂點的有窮非空集和頂點之間邊的集合,通常表示為:G(V. E),其中,G 表示一個圖,V 是圖 G 中頂點的集合,E 是圖 G 中邊的集合。

技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

7.3圖的抽象數據類型

技術分享圖片 技術分享圖片

7.4 圖的存儲

7.4.1 鄰接矩陣

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

7.4.2 鄰接表

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片技術分享圖片技術分享圖片

技術分享圖片技術分享圖片技術分享圖片技術分享圖片

7.4.3 十字鏈表

技術分享圖片技術分享圖片技術分享圖片技術分享圖片

7.5 圖的遍歷

從圖中某一頂點出發訪遍圖中其余頂點,且使每一個頂點僅被訪問一次,這一過程就叫做圖的遍歷。

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

7.6生成樹

技術分享圖片

技術分享圖片

7.6.1最小生成樹

技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

普裏姆算法

技術分享圖片

第一步:隨機從所有頂點集合V中選取一個初始頂點,然後把這個頂點放入集合U中,集合W=V-U;
第二步:計算集合U中這個頂點到集合W中所有頂點距離最小的那個頂點,把這個頂點從集合W中移入到集合U中;
第三步:因為有集合U中剛剛有新的頂點加入,所以現在需要更新集合U中頂點到集合W中頂點的距離,計算剛剛加入的這個頂點到集合W中每個頂點的距離和
原先集合U中頂點到集合W中頂點的距離做比較,如果前者更小,則更新這個最小距離;
第四步:重復以上步驟。

舉個例子:

技術分享圖片

第一步:隨機選取一個頂點,放入集合U中,假設為頂點1,則U={1},W={2,3,4,5,6},計算頂點1到頂點2,3,4,5,6的距離,連接距離最小的邊13;

技術分享圖片

第二步:把距離最小的頂點3,從W集合中移入到U集合中;

第三步:計算頂點3與頂點2,4,5,6的距離,如果頂點3與頂點2的距離比頂點1與頂點2的距離小,則更新這個最小距離,否則不更新,同理就算頂點4,5,6,連接最小的邊36;

技術分享圖片

第四步:重復以上步驟一二三。

技術分享圖片

技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片

克魯斯卡爾算法

技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片

7.7最短路徑

技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片

07數據結構——圖