BST+AVL+SB

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);

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