普林斯頓公開課 算法1-8:並查集 快速查找


本節講的是並查集的第一種實現方法,這種方法查找操作開銷很小而合並操作開銷比較大。


數據結構


假設有N個節點,那么該算法的數據結構就是一個包含N個整數的數組id[]。


判斷操作


判斷節點p和節點q是否相連就是判斷id[p]和id[q]的值是否一致。


合並操作


合並節點p和節點q就是將id數組中所有的id[p]都修改為id[q]。


這樣的話,每次合並都要遍歷整個數組,修改多個值,因此開銷比較大。


復雜度


合並一次的復雜度是N,如果需要合並N次,那么整個程序的復雜度就是N^2。這樣的復雜度不適合應用於規模較大的地方。


查找操作的復雜度是1,開銷很小。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com