紅黑樹實現自平衡的原理圖解及與二叉查找樹的比較

1.紅黑樹五大原則:
(1)節點爲紅色或黑色
(2)根節點爲黑色
(3)紅色節點的子節點和父節點不能爲紅色
(4)從根節點到所有葉子節點的路徑中黑色節點個數相同
(5)葉子節點爲黑色
2.在紅黑樹增刪數據時,先增刪,增刪後若不滿足五大原則,則再對其進行調整(左旋、右旋、顏色改變),調整的處理實際上是節點屬性值(節點顏色、節點父子節點的左右子樹)的改變。
3.有五大原則做保證,紅黑樹能實現自平衡,保證從根節點到葉子節點的所有路徑中的最長路徑不超過最短路徑的2倍.(舉例:根節點到左子樹葉子節點全是黑色,而右子樹紅黑交叉,但是葉子節點一定要是黑色,詳見下圖)
在這裏插入圖片描述
4.紅黑樹VS二叉查找樹,二叉查找/搜索/檢索/排序樹(Binary Search Tree,BST)有3個特性:
(1)左子樹上所有節點的值均小於或等於它的根節點的值;
(2)右子樹上所有節點的值均大於或等於它的根節點的值;
(3)左右子樹也一定分別是二叉排序樹
所以,有可能出現左右子樹的長度一個很長一個很短的情況,在長度很長的子樹上做查找幾乎就是線性查找了,導致查找的性能大幅下降.而紅黑樹在五大原則的限定下,當有要出現一長一短趨勢時,紅黑樹會根據五大原則自行做調整,從而實現了一定程度的自平衡,也保證了檢索的性能.

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