1. 程式人生 > >資料結構——4.2 平衡二叉樹

資料結構——4.2 平衡二叉樹

搜尋樹結點不同的插入次序,將導致不同的深度平均查詢長度ASL
在這裡插入圖片描述

平衡因子:BF(T)=hL-hR,其中hL和hR分別為T的左右子樹的高度。

平衡二叉樹(AVL樹):是一個空樹或者 要求任一結點左右子樹高度差的絕對值小於等於1,即|BF(T)| <=1
在這裡插入圖片描述

設nh為 高度是h的平衡二叉樹的最少結點數。結點數最少時:
在這裡插入圖片描述
在這裡插入圖片描述

平衡二叉樹的調整

平衡二叉樹在插入一個結點以後就不平衡了,所以這個時候需要去調整

1)RR

在這裡插入圖片描述

把被破壞的結點的右子樹領上去,把被破壞的結點作為兒子,BL的所有結點一定比A大,比B小,於是有
在這裡插入圖片描述
舉例破壞者在被破壞者右子樹的右子樹上,所以要做RR旋轉。
在這裡插入圖片描述


在這裡插入圖片描述

2)LL

在這裡插入圖片描述
在這裡插入圖片描述

3)LR

在這裡插入圖片描述

4)RL

在這裡插入圖片描述