當前位置:
首頁 >
图论 —— 生成树
發布時間:2025/3/17
20
豆豆
【概述】
對一個具有 n 個點的連通圖進行遍歷,對于遍歷后的子圖,其包含原圖中所有的點且保持圖連通,最后的結構一定是一個具有 n-1 條邊的樹,通常稱為生成樹。
在生成樹問題中,最常見的問題就是最小生成樹問題,所謂最小生成樹,就是對于一個有 n 個點的無向連通圖的生成樹,其包含原圖中的所有點,且保持圖連通的邊權總和最少的邊。
簡單來說,對于一個有 n 個點的圖,邊一定是大于等于 n-1 條的,最小生成樹,就是在這些邊中選擇 n-1 條出來連接所有的 n 個點,且這 n-1 條邊的邊權之和是所有方案中最小的。
最小生成樹具有以下兩條性質:
- 切割性質:連接點 x、y 的邊權最小的邊必定被生成樹包含
- 回路性質:任意回路/環上的邊權最大的邊必不被生成樹包含
求最小生成樹一般有 Prim 算法與 Kruskal 算法,其中,Prim 算法時間復雜度為 O(V*V),與圖中邊數無關,適合稠密圖;Kruskal 算法時間復雜度 為O(ElogE),需要對圖的邊進行訪問,適合稀疏圖。
【常見問題模型】
在生成樹問題中,除了最常見的最小生成樹問題外,還有以下常見的問題模型:
【例題】
1.最小生成樹
2.曼哈頓距離最小生成樹
同題:擴散(信息學奧賽一本通-T1437):點擊這里
3.次小生成樹
4.最小樹形圖
5.最小瓶頸生成樹
6.增量最小生成樹
7.最小瓶頸路
8.生成樹計數
同題:最小生成樹計數(洛谷-P4208):點擊這里
總結
- 上一篇: 数论 —— 概述
- 下一篇: 搜索 —— 深搜的剪枝技巧