推 eggy1018: 接n次,但是處理的東西是他是屬於什麼set,指的是更新他 11/14 02:21
→ eggy1018: 所屬的set值,每一次接都要處理logn個node,所以時間複 11/14 02:21
→ eggy1018: 雜度一共O(nlogn) 11/14 02:21
→ eggy1018: 以上是小弟的見解,有錯還請告知 11/14 02:21
→ love52697: 這也是我覺得我可能想錯但不知道錯在哪裡的地方 11/14 12:45
→ love52697: 我一直以為在weight-union下接上一個元素是O(1) 11/14 12:50
→ love52697: 因為總是短的併入長的, 11/14 12:51
→ love52697: 以我們討論的case就是把一個個新生的單一node併入原有 11/14 12:52
→ love52697: 的set 11/14 12:52
→ love52697: 從link list的接法來看, 11/14 12:53
→ love52697: 想多併入一個node只要從set的最後面接上就好了, 11/14 12:54
→ love52697: 不需要動到set裡其他node的set值 11/14 12:55
推 eggy1018: 對 但是他的logn是來自”每次被更新set的節點數” 有點 11/14 13:35
→ eggy1018: 像Dij decreases key的感覺 11/14 13:35
→ love52697: 如果用weighted-union的方式一個一個接起來, 11/14 21:50
→ love52697: 每次Union的時候被更新的set都是只有一個節點的那個set 11/14 21:51
→ love52697: 啊 11/14 21:51
→ love52697: 這樣每次更新的節點數都是1,但我注意到另一個問題, 11/14 21:51
→ love52697: 就是每次接的時候都要尋找長的set的最後一個節點 11/14 21:51
→ love52697: 若把這個時間算進去這種接法的總時間就會是O(n^2) 11/14 21:52
→ love52697: 倒不如兩兩一組接,總時間就會是O(nlogn)我這樣想不知道 11/14 21:52
→ love52697: 對不對? 11/14 21:52