[理工] [資結]union-and-find

看板Grad-ProbAsk作者 (大邱)時間13年前 (2013/01/18 12:09), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串1/1
想請問一下 u unions and f finds 到底可不可以在Θ(f+u)做完呢? 我用的是Horowitz的課本 裡面提到最快的方法是用wighted + collapsed 但是複雜度要用一個奇怪的α-function來算 雖然成長很緩慢 但是應該也不是linear的 想問問大家的想法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.136.216

01/18 13:39, , 1F
可以喔! 那個叫做 Ackerman的反函數 趨近於O(1)
01/18 13:39, 1F

01/18 13:56, , 2F
你u個unions用weighting rule所需時間O(u) 而做出來的
01/18 13:56, 2F

01/18 13:58, , 3F
set每個element做find都O(1)阿,做u次只要O(u)
01/18 13:58, 3F

01/18 14:05, , 4F
忘了講..要依序坐union
01/18 14:05, 4F

01/18 14:10, , 5F
如果沒依序作union的話find最差要O(logu),所以再用
01/18 14:10, 5F

01/18 14:11, , 6F
collapsing rule做find的話就可以保證下一輪的find只要
01/18 14:11, 6F

01/18 14:11, , 7F
O(1)就能完成
01/18 14:11, 7F
文章代碼(AID): #1G-Ci3Yx (Grad-ProbAsk)