BST
性質
左子樹<根節點、右子樹>根節點
用途
解決排名相關的檢索需求
基本操作
插入操作
一直插入到葉子節點
刪除操作
1、刪除葉子節點:直接刪除,並將其父節點的孩子節點置空
2、刪除度爲1的節點:刪除後,將孩子節點掛到父節點的父節點上
3、刪除度爲2的節點:找到前驅或者後繼替換後,轉換爲度爲1的節點
缺點
查找效率依賴於節點的插入順序
AVL樹
二叉排序樹可能會退化成鏈表,時間效率從o(logn)---->o(n)
所以給出了平衡二叉排序樹
性質
|h(left) - h(right)| <= 1
高度限制:low(h-2) + low(h-2) + 1 <= size(h) <= 2 ^ h - 1
近似於:1.5^h <= size(h) <= 2^h -1
調整策略
LL型:直接將不平衡的節點右旋
LR型:將不平衡節點的左孩子節點左旋,然後將該節點右旋
RL型:將不平衡節點的右孩子右旋,將該節點左旋
RR型:將不平衡節點左旋
SB樹
滿足:
size(left) >= size(right->left)、size(left) >= size(right->right);
size(right) >= size(left->left)、size(right) >= size(left->right);