1. 程式人生 > >平衡二叉樹-AVL樹(LL、RR、LR、RL旋轉)

平衡二叉樹-AVL樹(LL、RR、LR、RL旋轉)

二叉 導致 -a tro ima 作用 及其 數字 因此

平衡二叉樹的定義:

  任意的左右子樹高度差的絕對值不超過1,將這樣的二叉樹稱為平衡二叉樹,二叉平衡樹前提是一個二叉排序樹

平衡二叉樹的插入:

  二叉平衡樹在插入或刪除一個結點時,先檢查該操作是否導致了樹的不平衡,若是,則在該路徑上查找最小的不平衡樹,調節其平衡。

  4種平衡調整如下(結點的數字僅作標記作用):

  ①LL:右單旋轉

  技術分享圖片

  ②RR:左單旋轉

  技術分享圖片

  ③LR平衡旋轉:先左後右

  技術分享圖片

  ④RL平衡旋轉:先右後左

  技術分享圖片

平衡二叉樹查找:平衡二叉樹查找過程等同於二叉排序樹相同,因此平衡二叉樹查找長度不超過數的長度,及其平均查找長度為O(log2n)。

平衡二叉樹-AVL樹(LL、RR、LR、RL旋轉)