[Data Structure & Algorithm] 平衡二叉樹
平衡二叉樹 AVL (由前蘇聯數學家Ablelso-Velski和Landis發明)
- 平衡因子 - 左子樹的深度 減去 右子樹的深度
- 性質
- 任何結點的左子樹和右子樹的深度之差不超過1,即平衡因子的值只多是-1,0,1
- 深度爲h的平衡二叉樹,至少須要的結點數Nh = 1 + Nh-1 + Nh-2
- 如,N1 = 1,N2 = 2,N3 = 1+2+1 = 4
- 目的 - 使二叉排序樹的平均查找長度最小
- 查找的時間複雜度 - O(log2n)
旋轉
- 定義 - 在插入結點後,對AVL樹進行簡單修改來保證其平衡性
- 分類
- 單旋轉
- LL - 對左孩子的左子樹進行一次插入
- RR - 對右孩子的右子樹進行一次插入
- 雙旋轉
- LR - 對左孩子的右子樹進行一次插入
- RL - 對右孩子的左子樹進行一次插入
歡迎關注本站公眾號,獲取更多信息