AVL樹(shù)的總結(jié)

AVL樹(shù):它是高度平衡的二叉搜索樹(shù),它的左子樹(shù)和右子樹(shù)都是AVL樹(shù)锚国。結(jié)點(diǎn)擁有的平衡因子(balance)是該結(jié)點(diǎn)的右子樹(shù)減去左子樹(shù)的高度所得到的高度差,規(guī)定AVL任意結(jié)點(diǎn)的平衡因子只能取-1,0,1叨恨。

1午磁、代碼實(shí)現(xiàn):

首先定義一個(gè)AVLTree類模板:

圖1

購(gòu)買(mǎi)和釋放結(jié)點(diǎn):

圖2

2莺戒、實(shí)例分析:

圖3:高度平衡的二叉樹(shù)

如上圖所示,選取數(shù)組int ar[]={16, 3, 7, 11, 9, 26, 18, 14, 15 }進(jìn)行插入構(gòu)造AVLTree操作呀舔。

步驟分析:

(1)先插入16弥虐,再插入3,再插入7媚赖,至此得到下圖:

(2)可以看到此時(shí)這棵樹(shù)已經(jīng)不平衡了霜瘪,所以需要對(duì)此調(diào)整【寤牵可以看到它們位于一條折線上颖对,因此需要進(jìn)行先左后右的雙旋轉(zhuǎn),先以結(jié)點(diǎn)7為旋轉(zhuǎn)軸磨隘,將結(jié)點(diǎn)3逆時(shí)針做左單旋轉(zhuǎn)缤底;再以結(jié)點(diǎn)7為旋轉(zhuǎn)軸,將結(jié)點(diǎn)16順時(shí)針做右單旋轉(zhuǎn)番捂,得到如下圖:

(3)再插入下一個(gè)結(jié)點(diǎn)11个唧,插入結(jié)點(diǎn)9,得到下圖:

(4)可以看到此時(shí)這棵樹(shù)已經(jīng)不平衡了设预,所以需要對(duì)此調(diào)整徙歼。16、11、9三點(diǎn)處于一條斜線上魄梯,因此對(duì)它進(jìn)行右單旋轉(zhuǎn)桨螺,以11為旋轉(zhuǎn)軸,將16右單旋轉(zhuǎn)可得到:

(5)繼續(xù)插入26酿秸,得到:

(6)可以看到此時(shí)這棵樹(shù)已經(jīng)不平衡了灭翔,所以需要對(duì)此調(diào)整。11辣苏、16肝箱、26三點(diǎn)處于一條斜線上,因此對(duì)它進(jìn)行左單旋稀蟋,以11為旋轉(zhuǎn)軸狭园,將7逆時(shí)針旋轉(zhuǎn),得到:

(7)然后插入18糊治,同樣得到一顆不平衡的樹(shù):

(8)因此需要對(duì)其進(jìn)行調(diào)整,因?yàn)?6,26,18三點(diǎn)處于一條折線上罚舱,因此需要對(duì)其進(jìn)行右左雙旋井辜,先以18為旋轉(zhuǎn)軸,將26順時(shí)針旋轉(zhuǎn)管闷,再以18為旋轉(zhuǎn)軸,將16進(jìn)行逆時(shí)針旋轉(zhuǎn),可以得到下圖:

(9)然后插入14顿乒、15摹察,得到圖如下:

(10)分析上圖的不平衡,可以發(fā)現(xiàn)16,14,15三點(diǎn)處于一條折線上碧囊,需要進(jìn)行先左后右旋轉(zhuǎn)树灶,先以15為旋轉(zhuǎn)軸,將14逆時(shí)針旋轉(zhuǎn)糯而,再以15為旋轉(zhuǎn)軸天通,將16順時(shí)針旋轉(zhuǎn),得到下圖:

(11)至此熄驼,得到了本文最開(kāi)始的高度平衡的二叉樹(shù)像寒,也即AVL樹(shù)。

3瓜贾、實(shí)例的代碼實(shí)現(xiàn)(向AVLTree插入結(jié)點(diǎn)):

圖4:插入代碼1


圖5:插入代碼2
圖6


圖7
圖8

4诺祸、AVL樹(shù)的其它操作:

圖9
圖10
圖11
圖12
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市祭芦,隨后出現(xiàn)的幾起案子筷笨,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奥秆,死亡現(xiàn)場(chǎng)離奇詭異逊彭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)构订,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)侮叮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人悼瘾,你說(shuō)我怎么就攤上這事囊榜。” “怎么了亥宿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵卸勺,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我烫扼,道長(zhǎng)曙求,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任映企,我火速辦了婚禮悟狱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘堰氓。我一直安慰自己挤渐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布双絮。 她就那樣靜靜地躺著浴麻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪囤攀。 梳的紋絲不亂的頭發(fā)上软免,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音抚岗,去河邊找鬼或杠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宣蔚,可吹牛的內(nèi)容都是我干的向抢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼胚委,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼挟鸠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起亩冬,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤艘希,失蹤者是張志新(化名)和其女友劉穎硼身,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體覆享,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佳遂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撒顿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丑罪。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖凤壁,靈堂內(nèi)的尸體忽然破棺而出吩屹,到底是詐尸還是另有隱情,我是刑警寧澤拧抖,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布煤搜,位于F島的核電站,受9級(jí)特大地震影響唧席,放射性物質(zhì)發(fā)生泄漏擦盾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一淌哟、第九天 我趴在偏房一處隱蔽的房頂上張望厌衙。 院中可真熱鬧,春花似錦绞绒、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至彤枢,卻和暖如春狰晚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缴啡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工壁晒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人业栅。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓秒咐,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親碘裕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子携取,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • B樹(shù)的定義 一棵m階的B樹(shù)滿足下列條件: 樹(shù)中每個(gè)結(jié)點(diǎn)至多有m個(gè)孩子。 除根結(jié)點(diǎn)和葉子結(jié)點(diǎn)外帮孔,其它每個(gè)結(jié)點(diǎn)至少有m...
    文檔隨手記閱讀 13,183評(píng)論 0 25
  • 數(shù)據(jù)結(jié)構(gòu)與算法--從平衡二叉樹(shù)(AVL)到紅黑樹(shù) 上節(jié)學(xué)習(xí)了二叉查找樹(shù)雷滋。算法的性能取決于樹(shù)的形狀,而樹(shù)的形狀取決于...
    sunhaiyu閱讀 7,638評(píng)論 4 32
  • 一. 算法之變,結(jié)構(gòu)為宗 計(jì)算機(jī)在很多情況下被應(yīng)用于檢索數(shù)據(jù)晤斩,比如航空和鐵路運(yùn)輸業(yè)的航班信息和列車時(shí)刻表的查詢焕檬,都...
    Leesper閱讀 6,834評(píng)論 13 42
  • 四实愚、樹(shù)與二叉樹(shù) 1. 二叉樹(shù)的順序存儲(chǔ)結(jié)構(gòu) 二叉樹(shù)的順序存儲(chǔ)就是用數(shù)組存儲(chǔ)二叉樹(shù)。二叉樹(shù)的每個(gè)結(jié)點(diǎn)在順序存儲(chǔ)中都有...
    MinoyJet閱讀 1,505評(píng)論 0 7
  • 東華聽(tīng)得房間外再無(wú)動(dòng)靜后,料定承吞已經(jīng)走遠(yuǎn)幢妄,再看身下的鳳九兔仰,表情仍是有些呆呆的,便仍維持著頭先嘴唇緊貼鳳九耳廓的姿...
    無(wú)名字閱讀 8,843評(píng)論 20 47