1. 程式人生 > >AVL樹

AVL樹

n+2 技術分享 技術 image 而且 http 查找樹 pos sof

1.介紹

AVL樹是帶有平衡條件的二叉查找樹,而且必須保證樹的深度是O(logN).

這個平衡條件很多,最常見的是左子樹和右子樹的高度相差不超過1,可以證明,一顆AVL樹的高度最多為1.44log(N+2)-1.328。

技術分享圖片

因此,除了插入的操作以外,所有的樹操作都以O(logN)執行,因為當進行插入的時候可能需要進行額外的平衡操作。把必須平衡的點計為a,那麽這種操作可能是下面的一種:

a.對a的左兒子的左子樹進行一次插入

b.對a的左兒子的右子樹進行一次插入

c.對a的右兒子的左子樹進行一次插入

d.對a的右兒子的右子樹進行一次插入

對於a和d,用單旋轉就可以,而中間兩種需要用到雙旋轉

2.單旋轉

AVL樹