为什么不用红黑树?
紅黑樹也是BST 樹,但是不是嚴格平衡的。
必須滿足5 個約束:
1、節點分為紅色或者黑色。
2、根節點必須是黑色的。
3、葉子節點都是黑色的NULL 節點
4、紅色節點的兩個子節點都是黑色(不允許兩個相鄰的紅色節點)。
5、從任意節點出發,到其每個葉子節點的路徑中包含相同數量的黑色節點。
插入:60、56、68、45、64、58、72、43、49
基于以上規則,可以推導出:
從根節點到葉子節點的最長路徑(紅黑相間的路徑)不大于最短路徑(全部是黑色節點)的2 倍。
為什么不用紅黑樹?1、只有兩路;2、不夠平衡。
紅黑樹一般只放在內存里面用。例如Java 的TreeMap。
?
總結
- 上一篇: B+树(加强版多路平衡查找树)
- 下一篇: 索引方式:真的是用的B+Tree 吗?