AVL樹的特性及插入操做

AVL樹是一棵"嚴格"的平衡樹, "被插入元素"到"根元素"的路徑每一個節點的左子樹和右子樹的高度差不能大於1.
舉例來講:A的左子樹的高度爲1, 右子樹高度爲-1(null的高度爲-1), 則A的兩個子樹的高度差爲2

此時, 就要對高的子樹下的元素進行旋轉操做, 以下降其高度. 對上圖咱們能夠通過一次右旋獲得:blog

旋轉的方式有4種,分爲im

1.單次旋(左旋, 右旋)
2.雙次旋(先左旋後右旋, 先右旋後左旋)

具體怎麼旋轉, 取決於元素的大小關係, 爲了好理解, 我畫了下面這張圖闡釋.img

圖中的三角形表示元素的子樹, 在左側表示左子樹, 在右側表示右子樹.di

相關文章
相關標籤/搜索