算法与数据结构——并查集
生活随笔
收集整理的這篇文章主要介紹了
算法与数据结构——并查集
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章推薦:【算法與數(shù)據(jù)結(jié)構(gòu)】—— 并查集
例子:
數(shù)據(jù)結(jié)構(gòu)——最小生成樹之克魯斯卡爾算法(Kruskal)
1.2 并查集思想(重點(diǎn))
我們可以把每個(gè)連通分量看成一個(gè)集合,該集合包含了連通分量的所有點(diǎn)。而具體的連通方式無關(guān)緊要,好比集合中的元素沒有先后順序之分,只有“屬于”與“不屬于”的區(qū)別。圖的所有連通分量可以用若干個(gè)不相交集合來表示。
分為三部分:
(1)初始化:使每個(gè)結(jié)點(diǎn)的初始根節(jié)點(diǎn)為自己,并且每個(gè)結(jié)點(diǎn)構(gòu)成一顆樹,樹的深度是1;
(2)查找:使用遞歸來查找每個(gè)結(jié)點(diǎn)的父親結(jié)點(diǎn);
(3)合并:將不同父節(jié)點(diǎn)的結(jié)點(diǎn)合并;
注:這里的并查集是優(yōu)化后的,即:進(jìn)行了路徑壓縮。如果題目中無要求,可以只寫簡單的并查集算法
總結(jié)
以上是生活随笔為你收集整理的算法与数据结构——并查集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米平板5 Pro体验:值得闭眼入的满配
- 下一篇: PAT乙级题目——1002写出这个数