(23)Go實現(xiàn)紅黑樹-算法解析

紅黑樹掠廓,叫red black tree/2b tree,了解紅黑樹之前芦瘾,先了解下2-3樹,2-3樹容易理解
且和紅黑樹有某種等價性,了解2-3樹有助于了解紅黑樹 //

如以上圖過程:  //
1)每次插入新節(jié)點時黔衡,都是先找到要插入的最后節(jié)點,與最后節(jié)點相融合腌乡;
2)融合后如果是3節(jié)點盟劫,則后續(xù)不變;
3)融合后如果是4節(jié)點与纽,則分裂一棵子樹侣签,并將其父節(jié)點向上一級融合,直到根節(jié)點為止
2-3樹和紅黑樹的等價性 
依照上圖的性質(zhì)急迂,3節(jié)點采用的是左傾的3節(jié)點影所,這樣建出來的紅黑樹稱為左傾紅黑樹,據(jù)此也有
右傾紅黑樹僚碎,即b在上型檀,c在b的右邊,c是紅色表示與父節(jié)點是同一個節(jié)點听盖。//
2-3樹和紅黑樹可以等價為下圖:


如上圖胀溺,好好理解,向紅黑樹中添加元素的情形跟2-3樹中添加元素類似皆看,都是通過融合仓坞、分裂;
//
向紅黑樹中融合元素可以分為以下2類腰吟,共5種情形:(默認添加紅節(jié)點无埃,表明該節(jié)點與父節(jié)點是融合的)
1.  向2節(jié)點中融合元素
情形1)融合的節(jié)點在2節(jié)點的左邊徙瓶;
情形2)融合的節(jié)點在2節(jié)點的右邊;

2.  向3節(jié)點中融合元素
情形3)融合的元素在3節(jié)點的中間嫉称;
情形4)融合的元素在3節(jié)點的左邊侦镇;
情形5)融合的元素在3節(jié)點的右邊;

5種情形如下圖演示:
依據(jù)上面5種情形织阅,向紅黑樹中添加節(jié)點可以歸納為以下流程: //
最后的顏色翻轉(zhuǎn)之后壳繁,新的紅節(jié)點要再向上做判斷,之后重復(fù)這個流程荔棉,直到根節(jié)點為止

續(xù)下一篇《(24)Go實現(xiàn)紅黑樹-實現(xiàn)和總結(jié)》:
http://www.reibang.com/p/172c2717ae19

有bug歡迎指出闹炉,轉(zhuǎn)載請注明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末润樱,一起剝皮案震驚了整個濱河市渣触,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壹若,老刑警劉巖嗅钻,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異店展,居然都是意外死亡养篓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門壁查,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剔应,你說我怎么就攤上這事睡腿。” “怎么了峻贮?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵席怪,是天一觀的道長。 經(jīng)常有香客問我纤控,道長挂捻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任船万,我火速辦了婚禮刻撒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘耿导。我一直安慰自己声怔,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布舱呻。 她就那樣靜靜地躺著醋火,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芥驳,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天柿冲,我揣著相機與錄音,去河邊找鬼兆旬。 笑死假抄,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的爵憎。 我是一名探鬼主播慨亲,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宝鼓!你這毒婦竟也來了刑棵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤愚铡,失蹤者是張志新(化名)和其女友劉穎蛉签,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沥寥,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡碍舍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了邑雅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片片橡。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖淮野,靈堂內(nèi)的尸體忽然破棺而出捧书,到底是詐尸還是另有隱情,我是刑警寧澤骤星,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布经瓷,位于F島的核電站,受9級特大地震影響洞难,放射性物質(zhì)發(fā)生泄漏舆吮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一队贱、第九天 我趴在偏房一處隱蔽的房頂上張望色冀。 院中可真熱鬧,春花似錦柱嫌、人聲如沸呐伞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伶氢。三九已至趟径,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間癣防,已是汗流浹背蜗巧。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蕾盯,地道東北人幕屹。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像级遭,于是被迫代替她去往敵國和親望拖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

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

  • B樹的定義 一棵m階的B樹滿足下列條件: 樹中每個結(jié)點至多有m個孩子挫鸽。 除根結(jié)點和葉子結(jié)點外说敏,其它每個結(jié)點至少有m...
    文檔隨手記閱讀 13,222評論 0 25
  • 一,分層架構(gòu): 用戶操作: 數(shù)據(jù)層: 接口層: 路由層: 視圖層: 二丢郊,項目目錄結(jié)構(gòu) 三盔沫,增刪改查模塊: 1.模塊...
    _往后_閱讀 167評論 0 1
  • :你上過大學,未必有文化 關(guān)于什么是文化枫匾,我最最欣賞的回答架诞,是作家梁曉聲的四句概括:根植于內(nèi)心的修養(yǎng);無需提醒的自...
    王木木4523閱讀 584評論 5 9
  • 幸運的老師閱讀 208評論 0 0
  • 汽車在高速公路上飛馳干茉, 周圍景色瘋狂向后奔跑谴忧, 沒有風,云也沒有動角虫, 現(xiàn)在正適合想念沾谓, 只是云在想風, 我在想你上遥。
    一顆好好好樹啊閱讀 212評論 0 1