[理工]資結 2-3 tree

看板Grad-ProbAsk作者 (Que)時間11年前 (2014/11/18 21:11), 編輯推噓3(306)
留言9則, 2人參與, 最新討論串1/1
題目如下 http://ppt.cc/heMZ http://ppt.cc/ygwP 有問題在於第二小題,刪除部分 第一次刪除30在root部分應該可以選擇35作為root吧? 第二次刪除7照原解沒有疑問, 第三次刪除18,自己是這樣想的, 因無法做旋轉只能合併,父節點16拉下來作合併, 父節點overflow,則拉祖父節點19下來,變成root為overflow, 等同刪除root,從右子樹找最小值22拉上來。 麻煩解答了!感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.195.162 ※ 文章網址: http://www.ptt.cc/bbs/Grad-ProbAsk/M.1416316291.A.CB8.html

11/18 22:01, , 1F
第三次刪除18 父節點拉下來後underflow=>可以rotation
11/18 22:01, 1F

11/18 22:04, , 2F
可以rotation就rotation 0.0 不能才嘗試combination
11/18 22:04, 2F

11/18 22:21, , 3F
而第一題中 Horowitz書內的deletion是
11/18 22:21, 3F

11/18 22:22, , 4F
先看有沒有右邊sibling 有的話看他能不能rotation
11/18 22:22, 4F

11/18 22:23, , 5F
能則rotation 不能則把該node 右邊sibling combine
11/18 22:23, 5F

11/18 22:24, , 6F
也就是說是先考慮與右邊合併
11/18 22:24, 6F

11/18 22:24, , 7F
只不過你要寫成先考慮跟左邊合併也是可以啦....
11/18 22:24, 7F

11/18 22:26, , 8F
他那個答案跟右邊的合併應該是根據這個來的
11/18 22:26, 8F

11/19 19:19, , 9F
明白了!謝謝!
11/19 19:19, 9F
文章代碼(AID): #1KQqM3ou (Grad-ProbAsk)