
- 資料結構與演算法
- DSA - 首頁
- DSA - 概述
- DSA - 環境設定
- DSA - 演算法基礎
- DSA - 漸進分析
- 資料結構
- DSA - 資料結構基礎
- DSA - 資料結構和型別
- DSA - 陣列資料結構
- 連結串列
- DSA - 連結串列資料結構
- DSA - 雙向連結串列資料結構
- DSA - 迴圈連結串列資料結構
- 棧與佇列
- DSA - 棧資料結構
- DSA - 表示式解析
- DSA - 佇列資料結構
- 搜尋演算法
- DSA - 搜尋演算法
- DSA - 線性搜尋演算法
- DSA - 二分搜尋演算法
- DSA - 插值搜尋
- DSA - 跳躍搜尋演算法
- DSA - 指數搜尋
- DSA - 斐波那契搜尋
- DSA - 子列表搜尋
- DSA - 雜湊表
- 排序演算法
- DSA - 排序演算法
- DSA - 氣泡排序演算法
- DSA - 插入排序演算法
- DSA - 選擇排序演算法
- DSA - 歸併排序演算法
- DSA - 希爾排序演算法
- DSA - 堆排序
- DSA - 桶排序演算法
- DSA - 計數排序演算法
- DSA - 基數排序演算法
- DSA - 快速排序演算法
- 圖資料結構
- DSA - 圖資料結構
- DSA - 深度優先遍歷
- DSA - 廣度優先遍歷
- DSA - 生成樹
- 樹資料結構
- DSA - 樹資料結構
- DSA - 樹遍歷
- DSA - 二叉搜尋樹
- DSA - AVL樹
- DSA - 紅黑樹
- DSA - B樹
- DSA - B+樹
- DSA - 伸展樹
- DSA - 字典樹
- DSA - 堆資料結構
- 遞迴
- DSA - 遞迴演算法
- DSA - 使用遞迴實現漢諾塔
- DSA - 使用遞迴實現斐波那契數列
- 分治法
- DSA - 分治法
- DSA - 最大最小問題
- DSA - Strassen矩陣乘法
- DSA - Karatsuba演算法
- 貪心演算法
- DSA - 貪心演算法
- DSA - 旅行商問題(貪心演算法)
- DSA - Prim最小生成樹
- DSA - Kruskal最小生成樹
- DSA - Dijkstra最短路徑演算法
- DSA - 地圖著色演算法
- DSA - 分數揹包問題
- DSA - 帶截止日期的作業排序
- DSA - 最佳合併模式演算法
- 動態規劃
- DSA - 動態規劃
- DSA - 矩陣鏈乘法
- DSA - Floyd-Warshall演算法
- DSA - 0-1揹包問題
- DSA - 最長公共子序列演算法
- DSA - 旅行商問題(動態規劃)
- 近似演算法
- DSA - 近似演算法
- DSA - 頂點覆蓋演算法
- DSA - 集合覆蓋問題
- DSA - 旅行商問題(近似演算法)
- 隨機化演算法
- DSA - 隨機化演算法
- DSA - 隨機化快速排序演算法
- DSA - Karger最小割演算法
- DSA - Fisher-Yates洗牌演算法
- DSA有用資源
- DSA - 問答
- DSA - 快速指南
- DSA - 有用資源
- DSA - 討論
生成樹
什麼是生成樹?
生成樹是圖G的一個子集,它包含所有頂點,並且邊數最少。因此,生成樹不包含環路,並且不能是斷開的。
根據這個定義,我們可以得出結論,每個連通且無向的圖G至少有一棵生成樹。斷開的圖沒有任何生成樹,因為它無法擴充套件到所有頂點。

我們找到了一個完整圖的三個生成樹。一個完整的無向圖最多可以有nn-2個生成樹,其中n是節點數。在上面提到的例子中,n是3,因此可以有33−2 = 3個生成樹。
生成樹的一般屬性
現在我們瞭解了一個圖可以有多個生成樹。以下是與圖G相關的生成樹的一些屬性:
一個連通圖G可以有多個生成樹。
圖G的所有可能的生成樹具有相同數量的邊和頂點。
生成樹不包含任何環路(迴路)。
從生成樹中移除一條邊將使圖斷開,即生成樹是最小連通的。
向生成樹中新增一條邊將建立一個迴路或環路,即生成樹是最大無環的。
生成樹的數學性質
生成樹有n-1條邊,其中n是節點(頂點)的數量。
從一個完整圖中,透過移除最多e - n + 1條邊,我們可以構建一棵生成樹。
一個完整圖最多可以有nn-2個生成樹。
因此,我們可以得出結論,生成樹是連通圖G的一個子集,而斷開的圖沒有生成樹。
生成樹的應用
生成樹主要用於找到連線圖中所有節點的最小路徑。生成樹的常見應用包括:
民用網路規劃
計算機網路路由協議
聚類分析
讓我們透過一個簡單的例子來理解這一點。假設城市網路是一個巨大的圖,現在計劃以最少的線路部署電話線路,以便連線到所有城市節點。這就是生成樹發揮作用的地方。
最小生成樹 (MST)
在帶權圖中,最小生成樹是指權重小於同一圖中所有其他生成樹的生成樹。在現實情況下,此權重可以測量為距離、擁塞、交通負載或分配給邊的任何任意值。
最小生成樹演算法
我們將在本文中學習兩種最重要的生成樹演算法:
這兩種演算法都是貪心演算法。
廣告