紅黑樹筆記

學習紅黑樹建議看https://www.jianshu.com/p/e136ec79235c,沒有代碼,只講最基本的原理。

但文中有一些問題,或者一些講解不合理的地方,特做記錄

1. 刪除結點其實可以理解爲:先替換,再平衡,後刪除。替換隻是值的替換,替換和被替換結點的顏色是不變的,替換後將要被刪除的結點已經變成了葉子結點(文中稱之爲替換節點,不要糾結於這時候刪除結點的位置不符合二叉查找樹定義,因爲它最後是要被刪除的),這時候再考慮平衡問題,對照文中分情況討論,平衡之後直接刪除替換節點

2. 刪除應該有點問題,刪除情況2.1.1在P左旋後得到的應該是情景2.1.2中的三種子情況之一,因爲SL不一定是葉子結點,還可能有紅色子節點,這種情況下是可以轉化爲2.1.2.1和2.1.2.2的。2.2.1的轉化也是同樣問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章