1. 程式人生 > 實用技巧 >【STL】vector容器

【STL】vector容器

這是圖演演算法的第四篇文章 圖解:如何實現最小生成樹

文章目錄:

  • 1.概念和性質
  • 2.思路探索
  • 3.Kruskal演演算法
  • 4.Prim演演算法
  • 5.程式碼實現

1.概念和性質

今天我們考慮的模型是加權無向圖,問題是如何獲取它的一幅最小生成樹!首先,我們給出最小生成樹的定義:

圖的生成樹是它的一棵含有其所有頂點的無環連通子圖。一幅加權圖的最小生成樹(MST)是它的一棵權值(樹中所有邊的權值之和)最小的生成樹。

如圖所示:

首先,我們給出一些約定來簡化問題(這並不會影響我們理解問題)

  • 只考慮連通圖(如果不連通的話是不存在最小生成樹的)
  • 邊的權重可能是0或者負數
  • 所有邊的權重各不相同(我們給出這個假設之後對於一幅圖來說只存在唯一的最小生成樹,這樣方便我們理解,但是如果把這個限制條件去掉,我們之前得到的演演算法依然有效