堆&紅黑樹

image.png
image.png

插入一個(gè)元素--上浮

image.png

52與父親節(jié)點(diǎn)比較,并交換

image.png

繼續(xù)比較交換


image.png

最后52與父親節(jié)點(diǎn)62比較, 比其小則不再交換,此次插入完成

取出一個(gè)元素--下沉

image.png

62被取走,最末尾的16放到堆頂,并且刪除最后一個(gè)元素16 ,size-1

image.png

下沉開始:
16每次都與左右孩子比較,然后與較大的那個(gè)交換


image.png

繼續(xù)比較,交換


image.png

最后16與只有左孩子的15比較, 發(fā)現(xiàn)滿足堆的性質(zhì),此次下沉完成!


image.png
image.png

前k個(gè)大 那么就最小堆
???不確定 前k個(gè)小 那么就最大堆 兩兩相反


image.png

紅黑樹

image.png
image.png

絕對(duì)平衡: 根節(jié)點(diǎn)到任意子樹的距離都一樣

2-3添加一個(gè)節(jié)點(diǎn)


image.png

對(duì)于2-3樹來說,節(jié)點(diǎn)永遠(yuǎn)都不會(huì)添加到空的位置!

image.png

37<42 添加到樹的左邊, 左邊是空, 則融合成3節(jié)點(diǎn)(可容納3孩子)

12添加進(jìn)來,暫時(shí)進(jìn)行融合形成4節(jié)點(diǎn)(可容納4孩子)


image.png

2-3樹最多為3節(jié)點(diǎn)所以將4節(jié)點(diǎn)樹分裂由3個(gè)二節(jié)點(diǎn)組成的絕對(duì)平衡樹


image.png

再添加一個(gè)節(jié)點(diǎn)18, 18先與37比較,比37小, 往左邊查找, 比12大,而節(jié)點(diǎn)不能存在空位置,所以與12融合成3節(jié)點(diǎn)


image.png

6添加進(jìn)來,按照上面的規(guī)律,先暫時(shí)性與12融合成4節(jié)點(diǎn)


image.png

拆分


image.png

因?yàn)橐獫M足絕對(duì)平衡,而此時(shí)37節(jié)點(diǎn)人可以存放一個(gè)節(jié)點(diǎn),編程3節(jié)點(diǎn),所以融合

image.png

插入11


image.png

插入5 暫時(shí)融合


image.png

分裂


image.png

再融合


image.png

4節(jié)點(diǎn)--->分裂


image.png

此時(shí)滿足2-3樹的性質(zhì)


image.png
image.png

紅黑樹與2-3的等價(jià)

image.png
image.png

用紅邊表示a,b節(jié)點(diǎn)是在一起的(同級(jí))

image.png

因?yàn)槊總€(gè)節(jié)點(diǎn)最多只有一個(gè)父親節(jié)點(diǎn),所以在節(jié)點(diǎn)中添加一個(gè)顏色標(biāo)明這個(gè)被標(biāo)紅的節(jié)點(diǎn)與其父親節(jié)點(diǎn)是同級(jí)的. 左傾斜 b < c

image.png
image.png

現(xiàn)在再來看下5個(gè)性質(zhì):


image.png
image.png

紅黑樹添加新節(jié)點(diǎn)

image.png

紅黑樹添加的節(jié)點(diǎn)永遠(yuǎn)都是紅色的,第一次添加是根節(jié)點(diǎn),而根節(jié)點(diǎn)要保持黑色,所以變色.

image.png

繼續(xù)添加有兩種情況:


image.png
image.png
image.png
image.png

左旋:


image.png
image.png
image.png

注意,左旋只是一個(gè)子過程, 該過程并不能一直保證一紅一黑.

image.png

該過程有顏色翻轉(zhuǎn)


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末菇绵,一起剝皮案震驚了整個(gè)濱河市惩激,隨后出現(xiàn)的幾起案子强窖,更是在濱河造成了極大的恐慌敞咧,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件余赢,死亡現(xiàn)場離奇詭異东羹,居然都是意外死亡岔冀,警方通過查閱死者的電腦和手機(jī)个榕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門篡石,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人笛洛,你說我怎么就攤上這事夏志。” “怎么了苛让?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長湿诊。 經(jīng)常有香客問我狱杰,道長,這世上最難降的妖魔是什么厅须? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任仿畸,我火速辦了婚禮,結(jié)果婚禮上朗和,老公的妹妹穿的比我還像新娘错沽。我一直安慰自己,他們只是感情好眶拉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布千埃。 她就那樣靜靜地躺著,像睡著了一般忆植。 火紅的嫁衣襯著肌膚如雪放可。 梳的紋絲不亂的頭發(fā)上谒臼,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音耀里,去河邊找鬼蜈缤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛冯挎,可吹牛的內(nèi)容都是我干的底哥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼房官,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼趾徽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起易阳,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤附较,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后潦俺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拒课,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年事示,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了早像。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肖爵,死狀恐怖卢鹦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情劝堪,我是刑警寧澤冀自,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站秒啦,受9級(jí)特大地震影響熬粗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜余境,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一驻呐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧芳来,春花似錦含末、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至侥涵,卻和暖如春沼撕,著一層夾襖步出監(jiān)牢的瞬間宋雏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國打工务豺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磨总,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓笼沥,卻偏偏與公主長得像蚪燕,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奔浅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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

  • 1馆纳、紅黑樹介紹 紅黑樹又稱R-B Tree,全稱是Red-Black Tree汹桦,它是一種特殊的二叉查找樹鲁驶,紅黑樹的...
    文哥的學(xué)習(xí)日記閱讀 9,875評(píng)論 1 35
  • 說起紅黑樹就頭痛,在大學(xué)時(shí)就沒搞懂舞骆,看的暈暈乎乎钥弯,理解不了。直到前幾天在極客時(shí)間的《數(shù)據(jù)結(jié)構(gòu)與算法之美》專欄中的《...
    微微笑的蝸牛閱讀 5,335評(píng)論 8 63
  • 0.目錄 1.算法導(dǎo)論的紅黑樹本質(zhì)上是2-3-4樹 2.紅黑樹的結(jié)構(gòu)和性質(zhì) 3.紅黑樹的插入 4.紅黑樹的刪除 5...
    王偵閱讀 2,483評(píng)論 1 2
  • 1.避免在提出抗議時(shí)表現(xiàn)出進(jìn)攻性 2.就事論事督禽,不要誹謗和貶低對(duì)方 3.不要嘲笑對(duì)方的提議 4.不要用諷刺性的語言
    Marykay_05f4閱讀 908評(píng)論 0 0
  • 打卡日期:2019年/5月/4日 90天打卡累計(jì)天數(shù):35/90 #宣言:不做咆哮體媽媽# 孩子第一個(gè)30天目標(biāo):...
    依云_1閱讀 160評(píng)論 0 0