平衡二叉排序樹(AVL樹)

關(guān)于平衡二叉樹了解的還是太少,遂記錄如下。

  • AVL樹的前世今生:二叉搜索樹(Binary Search Tree)

二叉搜索樹,是因?yàn)檫@種二叉樹能大幅度提高搜索效率。如果一個(gè)二叉樹滿足:對于任意一個(gè)節(jié)點(diǎn),其值不小于左子樹的任何節(jié)點(diǎn),且不大于右子樹的任何節(jié)點(diǎn)(反之亦可),則為二叉搜索樹。BST如果按照中序排序的話是一個(gè)有序序列。BST的平均查找時(shí)間復(fù)雜度為O(logn),但是極端情況下,假如一開始建樹的時(shí)候是有序序列,那么查找時(shí)間復(fù)雜度可以到O(n), 構(gòu)建樹的時(shí)間復(fù)雜度為O(nlogn),為了解決這一問題,引人AVL tree。從此我們的主人公開始登場。

  • AVL樹的優(yōu)勢

由于AVL tree要求左右子樹的高度差不大于1,因此這就保證了在建樹時(shí)不會出現(xiàn)樹退化為鏈表的情形。查找的時(shí)間復(fù)雜度可以保證為O(logn), 建樹時(shí)間復(fù)雜度依然為O(nlogn)。

  • AVL樹的建樹過程
    主要問題:當(dāng)二叉排序樹不平衡時(shí)有幾種情形,具體是通過什么方法使樹平衡?是否有可以借鑒的規(guī)律?
    具體參考1

參考:
1 看圖說話之平衡二叉排序樹(AVL樹)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容