數據結構與算法分析-AVL樹深入探討
阿新 • • 發佈:2018-11-20
vhd tran ons c-s 算法 amp cal pascal oot
1.1
數據結構與算法分析-AVL樹深入探討
Table of Contents
- 1. 數據結構之-AVL樹深入探討
- 1.1. AVL樹介紹
- 1.2. AVL樹的四種不平衡情形
1 數據結構之-AVL樹深入探討
之前學習數據結構與算法分析C語言描述的時候, 學到了AVL樹, 陷入了重重的陷阱, 如今把一一踩過的陷阱都描述出來, 好讓自己溫故知新.
1.1 AVL樹介紹
- AVL(Adelson-Velskii和Landis)樹是帶有平衡條件的二叉查找樹.這個平衡條件必須要容易保持.而且它須保證樹的深度是 \(O(\log{N})\).
- 一棵AVL樹是其任意節點的左子樹和右子樹的高度絕對值最多差1的二叉查找樹.
- 下圖是AVL樹和非AVL樹
1.2 AVL樹的四種不平衡情形
- AVL樹的任意節點
a
的兩棵子樹(左兒子和右兒子)的高度差2就會出現不平衡狀態. - 不平衡情形分為四種
- 對
a
的左兒子(L)的左子樹(L)進行一次插入.LL情形
- 對
a
的左兒子(L)的右子樹(R)進行一次插入.LR情形
- 對
a
的右兒子(R)的左子樹(L)進行一次插入.RL情形
- 對
a
的右兒子(R)的右邊子樹(R)進行一次插入.RR情形
- 對
Date: 2018-11-19 22:15
Created: 2018-11-19 一 22:16
Validate
數據結構與算法分析-AVL樹深入探討