8. 紅黑樹(shù)與AVL樹(shù)忽你,各自的優(yōu)缺點(diǎn)總結(jié)

RB-Tree和AVL樹(shù)作為BBST幼东,其實(shí)現(xiàn)的算法時(shí)間復(fù)雜度相同,AVL作為最先提出的BBST,貌似RB-tree實(shí)現(xiàn)的功能都可以用AVL樹(shù)是代替根蟹,那么為什么還需要引入RB-Tree呢脓杉?

  1. 紅黑樹(shù)不追求"完全平衡",即不像AVL那樣要求節(jié)點(diǎn)的 |balFact| <= 1简逮,它只要求部分達(dá)到平衡球散,但是提出了為節(jié)點(diǎn)增加顏色,紅黑是用非嚴(yán)格的平衡來(lái)?yè)Q取增刪節(jié)點(diǎn)時(shí)候旋轉(zhuǎn)次數(shù)的降低散庶,任何不平衡都會(huì)在三次旋轉(zhuǎn)之內(nèi)解決蕉堰,而AVL是嚴(yán)格平衡樹(shù),因此在增加或者刪除節(jié)點(diǎn)的時(shí)候悲龟,根據(jù)不同情況嘁灯,旋轉(zhuǎn)的次數(shù)比紅黑樹(shù)要多。
  2. 就插入節(jié)點(diǎn)導(dǎo)致樹(shù)失衡的情況躲舌,AVL和RB-Tree都是最多兩次樹(shù)旋轉(zhuǎn)來(lái)實(shí)現(xiàn)復(fù)衡rebalance丑婿,旋轉(zhuǎn)的量級(jí)是O(1)
    刪除節(jié)點(diǎn)導(dǎo)致失衡,AVL需要維護(hù)從被刪除節(jié)點(diǎn)到根節(jié)點(diǎn)root這條路徑上所有節(jié)點(diǎn)的平衡没卸,旋轉(zhuǎn)的量級(jí)為O(logN)羹奉,而RB-Tree最多只需要旋轉(zhuǎn)3次實(shí)現(xiàn)復(fù)衡,只需O(1)约计,所以說(shuō)RB-Tree刪除節(jié)點(diǎn)的rebalance的效率更高诀拭,開(kāi)銷(xiāo)更小煤蚌!
  3. AVL的結(jié)構(gòu)相較于RB-Tree更為平衡耕挨,插入和刪除引起失衡,如2所述尉桩,RB-Tree復(fù)衡效率更高筒占;當(dāng)然,由于AVL高度平衡蜘犁,因此AVL的Search效率更高啦翰苫。
  4. 針對(duì)插入和刪除節(jié)點(diǎn)導(dǎo)致失衡后的rebalance操作,紅黑樹(shù)能夠提供一個(gè)比較"便宜"的解決方案这橙,降低開(kāi)銷(xiāo)奏窑,是對(duì)search,insert 屈扎,以及delete效率的折衷埃唯,總體來(lái)說(shuō),RB-Tree的統(tǒng)計(jì)性能高于AVL.
  5. 故引入RB-Tree是功能鹰晨、性能墨叛、空間開(kāi)銷(xiāo)的折中結(jié)果滑沧。
    5.1 AVL更平衡,結(jié)構(gòu)上更加直觀巍实,時(shí)間效能針對(duì)讀取而言更高滓技;維護(hù)稍慢,空間開(kāi)銷(xiāo)較大棚潦。
    5.2 紅黑樹(shù)令漂,讀取略遜于AVL,維護(hù)強(qiáng)于AVL丸边,空間開(kāi)銷(xiāo)與AVL類(lèi)似叠必,內(nèi)容極多時(shí)略?xún)?yōu)于AVL,維護(hù)優(yōu)于AVL妹窖。
    基本上主要的幾種平衡樹(shù)看來(lái)纬朝,紅黑樹(shù)有著良好的穩(wěn)定性和完整的功能,性能表現(xiàn)也很不錯(cuò)骄呼,綜合實(shí)力強(qiáng)共苛,在諸如STL的場(chǎng)景中需要穩(wěn)定表現(xiàn)。

紅黑樹(shù)的查詢(xún)性能略微遜色于AVL樹(shù)蜓萄,因?yàn)槠浔華VL樹(shù)會(huì)稍微不平衡最多一層隅茎,也就是說(shuō)紅黑樹(shù)的查詢(xún)性能只比相同內(nèi)容的AVL樹(shù)最多多一次比較,但是嫉沽,紅黑樹(shù)在插入和刪除上優(yōu)于AVL樹(shù)辟犀,AVL樹(shù)每次插入刪除會(huì)進(jìn)行大量的平衡度計(jì)算,而紅黑樹(shù)為了維持紅黑性質(zhì)所做的紅黑變換和旋轉(zhuǎn)的開(kāi)銷(xiāo)绸硕,相較于AVL樹(shù)為了維持平衡的開(kāi)銷(xiāo)要小得多

  1. 總結(jié):實(shí)際應(yīng)用中堂竟,若搜索的次數(shù)遠(yuǎn)遠(yuǎn)大于插入和刪除,那么選擇AVL玻佩,如果搜索出嘹,插入刪除次數(shù)幾乎差不多,應(yīng)該選擇RB夺蛇。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疚漆,一起剝皮案震驚了整個(gè)濱河市酣胀,隨后出現(xiàn)的幾起案子刁赦,更是在濱河造成了極大的恐慌,老刑警劉巖闻镶,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甚脉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铆农,警方通過(guò)查閱死者的電腦和手機(jī)牺氨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)狡耻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事“碳溃” “怎么了蟹漓?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)曙蒸。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么进倍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮购对,結(jié)果婚禮上猾昆,老公的妹妹穿的比我還像新娘。我一直安慰自己骡苞,他們只是感情好垂蜗,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著解幽,像睡著了一般么抗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亚铁,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天蝇刀,我揣著相機(jī)與錄音,去河邊找鬼徘溢。 笑死吞琐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的然爆。 我是一名探鬼主播站粟,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼曾雕!你這毒婦竟也來(lái)了奴烙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤剖张,失蹤者是張志新(化名)和其女友劉穎切诀,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體搔弄,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幅虑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了顾犹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倒庵。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡褒墨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出擎宝,到底是詐尸還是另有隱情郁妈,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布绍申,位于F島的核電站圃庭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏失晴。R本人自食惡果不足惜剧腻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涂屁。 院中可真熱鬧书在,春花似錦、人聲如沸拆又。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帖族。三九已至栈源,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間竖般,已是汗流浹背甚垦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涣雕,地道東北人艰亮。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挣郭,于是被迫代替她去往敵國(guó)和親迄埃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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