[理工] 資演 紅黑樹插入

作者: g2578141 (CJR)   2020-04-26 23:41:42
各位安安
洪毅老師說紅黑樹的插入規則其中一項
Insert一個新值 在search過程中所經的Node若遇
兩子點皆紅需color change 和 連續紅色Nodes需要做rotation
然後這種情況每插入一次頂多發生一次
回家練習到有個例子 插入18做完後 接著插入2
search Node的過程中發生兩次cc的狀況
前面的步驟來回檢查也都有符合紅黑樹的定義
https://imgur.com/5YEylk4
是我誤會老師的意思嗎? 第一次發文 小弟不才請大大們幫我解答
作者: mi981027 (呱呱竹)   2020-04-28 13:24:00
color change本來就可能發生很多次 是rotation只會發生一次不過這邊要勸世一下 洪毅教的是紅黑樹的top down insert, 其實很冷門 洪毅選擇這樣教的原因是比較好教但聖經本CLRS用的是bottom up insert,兩者有什麼差嗎?有,印象中交大曾經考過一題紅黑樹 insert,用top down跟bottom up做出來的答案不一樣 而交大那年給的答案是用bottom up做出來的結果而且事實上大部分的學校都是用CLRS的定義,所以建議趁早把top down insert忘掉 網路上有很多紅黑樹insert的教學都不錯 可以參考看看事實上bottom up insert只需考慮uncle為紅 跟uncle為黑兩種情況 一點都沒有比較難
作者: mi981027 (呱呱竹)   2020-04-28 05:24:00
color change本來就可能發生很多次 是rotation只會發生一次不過這邊要勸世一下 洪毅教的是紅黑樹的top down insert, 其實很冷門 洪毅選擇這樣教的原因是比較好教但聖經本CLRS用的是bottom up insert,兩者有什麼差嗎?有,印象中交大曾經考過一題紅黑樹 insert,用top down跟bottom up做出來的答案不一樣 而交大那年給的答案是用bottom up做出來的結果而且事實上大部分的學校都是用CLRS的定義,所以建議趁早把top down insert忘掉 網路上有很多紅黑樹insert的教學都不錯 可以參考看看事實上bottom up insert只需考慮uncle為紅 跟uncle為黑兩種情況 一點都沒有比較難
作者: g2578141 (CJR)   2020-04-28 12:16:00
原來如此!那我會在去查查bottom up的插入法 謝謝mi大的解釋
作者: zuchang (chang)   2020-04-29 16:34:00
以top down來講 20插入就好了 不用回頭檢查
作者: Handsomeshen (洗澡是骯髒人的事)   2020-05-03 03:42:00
可以去youtube找教學,有人畫例子會比較好懂

Links booklink

Contact Us: admin [ a t ] ucptt.com