伸展樹

概念

伸展樹是一種二叉查找樹住拭,它能在O(logn)內(nèi)完成插入偷线、查找和刪除操作。
伸展樹是一種自調(diào)整形式的二叉查找樹推掸,它會沿著從某個節(jié)點到樹根之間的路徑桶蝎,通過一系列的旋轉(zhuǎn)把這個節(jié)點搬移到樹根去驻仅。
它的優(yōu)勢在于不需要記錄用于平衡樹的冗余信息。

優(yōu)點

  • 可靠的性能-它的平均效率不輸于其他平衡樹
  • 存儲所需的內(nèi)存少-伸展樹無需記錄額外的什么值來維護樹的信息登渣,相對于其他平衡樹噪服,內(nèi)存占用要小

缺點

伸展樹最明顯的缺點是它有可能會變成一條鏈表。這種情況可能發(fā)生在以非降順序訪問n個元素之后胜茧。然而均攤的最壞情況是對數(shù)級的O(logn)

基本操作

伸展樹主要有三種旋轉(zhuǎn)操作粘优,分別為單旋轉(zhuǎn),一字形旋轉(zhuǎn)和之字形旋轉(zhuǎn)呻顽。為了便于解釋雹顺,我們假設當前被訪問節(jié)點為X,X的父親節(jié)點為Y(如果X的父親節(jié)點存在)廊遍,X的祖父節(jié)點為Z(如果X的祖父節(jié)點存在)嬉愧。

  • 單旋轉(zhuǎn)
    節(jié)點X的父節(jié)點Y是根節(jié)點。這時喉前,如果X是Y的左孩子没酣,我們進行一次右旋操作;如果X是Y的右孩子被饿,則我們進行一次左旋操作四康。經(jīng)過旋轉(zhuǎn),X成為二叉查找樹T的根節(jié)點狭握,調(diào)整結(jié)束。
單旋轉(zhuǎn)
  • 一字型旋轉(zhuǎn)
    節(jié)點X的父節(jié)點Y不是根節(jié)點疯溺,Y的父節(jié)點為Z论颅,且X與Y同時是各自父節(jié)點的左孩子或者同時是各自父節(jié)點的右孩子。這時囱嫩,我們進行一次左左旋轉(zhuǎn)操作或者右右旋轉(zhuǎn)操作恃疯。
一字型旋轉(zhuǎn)
  • 之字形旋轉(zhuǎn)
    節(jié)點X的父節(jié)點Y不是根節(jié)點,Y的父節(jié)點為Z墨闲,X與Y中一個是其父節(jié)點的左孩子而另一個是其父節(jié)點的右孩子今妄。這時,我們進行一次左右旋轉(zhuǎn)操作或者右左旋轉(zhuǎn)操作鸳碧。
之字形旋轉(zhuǎn)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盾鳞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瞻离,更是在濱河造成了極大的恐慌腾仅,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件套利,死亡現(xiàn)場離奇詭異推励,居然都是意外死亡鹤耍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門验辞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稿黄,“玉大人,你說我怎么就攤上這事跌造「伺拢” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵鼻听,是天一觀的道長财著。 經(jīng)常有香客問我,道長撑碴,這世上最難降的妖魔是什么撑教? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮醉拓,結(jié)果婚禮上伟姐,老公的妹妹穿的比我還像新娘。我一直安慰自己亿卤,他們只是感情好愤兵,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著排吴,像睡著了一般秆乳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钻哩,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天屹堰,我揣著相機與錄音,去河邊找鬼街氢。 笑死扯键,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的珊肃。 我是一名探鬼主播荣刑,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伦乔!你這毒婦竟也來了厉亏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤评矩,失蹤者是張志新(化名)和其女友劉穎叶堆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斥杜,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡虱颗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年沥匈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忘渔。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡高帖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畦粮,到底是詐尸還是另有隱情散址,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布宣赔,位于F島的核電站预麸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏儒将。R本人自食惡果不足惜吏祸,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钩蚊。 院中可真熱鬧贡翘,春花似錦、人聲如沸砰逻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蝠咆。三九已至踊东,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刚操,已是汗流浹背递胧。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赡茸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓祝闻,卻偏偏與公主長得像占卧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子联喘,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

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

  • 目錄 0.樹0.1 一般樹的定義0.2 二叉樹的定義 1.查找樹ADT 2.查找樹的實現(xiàn)2.1 二叉查找樹2.2 ...
    王偵閱讀 7,245評論 0 3
  • 1华蜒、紅黑樹介紹 紅黑樹又稱R-B Tree,全稱是Red-Black Tree豁遭,它是一種特殊的二叉查找樹叭喜,紅黑樹的...
    文哥的學習日記閱讀 9,879評論 1 35
  • 基于樹實現(xiàn)的數(shù)據(jù)結(jié)構(gòu),具有兩個核心特征: 邏輯結(jié)構(gòu):數(shù)據(jù)元素之間具有層次關(guān)系蓖谢; 數(shù)據(jù)運算:操作方法具有Log級的平...
    yhthu閱讀 4,281評論 1 5
  • 伸展樹的引入: 我們知道AVL樹為了保持嚴格的平衡捂蕴,所以在數(shù)據(jù)插入上會呈現(xiàn)過多的旋轉(zhuǎn)譬涡,影響了插入和刪除的性能。從訪...
    大海孤了島閱讀 2,337評論 1 3
  • 頁面中有多個選項卡,采用面向?qū)ο蟮姆绞綄崿F(xiàn). 代碼簡潔,有效減少代碼冗余,便于后期維護 大家可以在這個基礎上根據(jù)需...
    bob_play閱讀 1,142評論 0 7