自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)結(jié)構與算法:紅黑樹插入調(diào)整方案

開發(fā) 前端
直接讓新結(jié)點變色為黑色,規(guī)則2得到滿足。同時,黑色的根結(jié)點使得每條路徑上的黑色結(jié)點數(shù)目 都增加了1,所以并沒有打破規(guī)則5。

紅黑樹插入有五種情況,每種情況對應著不同的調(diào)整方法:

一、 新結(jié)點(A)位于樹根,沒有父結(jié)點。

直接讓新結(jié)點變色為黑色,規(guī)則2得到滿足。同時,黑色的根結(jié)點使得每條路徑上的黑色結(jié)點數(shù)目 都增加了1,所以并沒有打破規(guī)則5。

二、 新結(jié)點(B)的父結(jié)點是黑色

新插入的紅色結(jié)點B并沒有打破紅黑樹的規(guī)則,所以不需要做任何調(diào)整

三、 新結(jié)點(D)的父結(jié)點和叔叔結(jié)點都是紅色

兩個紅色結(jié)點B和D連續(xù),違反了規(guī)則4。因此我們先讓結(jié)點B變?yōu)楹谏?/p>

這樣一來,結(jié)點B所在路徑憑空多了一個黑色結(jié)點,打破了規(guī)則5。因此我們讓結(jié)點A變?yōu)榧t色

結(jié)點A和C又成為了連續(xù)的紅色結(jié)點,我們再讓結(jié)點C變?yōu)楹谏?/p>

四、 新結(jié)點(D)的父結(jié)點是紅色,叔叔結(jié)點是黑色或者沒有叔叔,且新結(jié)點是父結(jié)點的右孩子,父結(jié) 點(B)是祖父結(jié)點的左孩子

我們以結(jié)點B為軸,做一次左旋轉(zhuǎn),使得新結(jié)點D成為父結(jié)點,原來的父結(jié)點B成為D的左孩子

這樣進入了情況5。

五、新結(jié)點(D)的父結(jié)點是紅色,叔叔結(jié)點是黑色或者沒有叔叔,且新結(jié)點是父結(jié)點的左孩子,父結(jié) 點(B)是祖父結(jié)點的左孩子

我們以結(jié)點A為軸,做一次右旋轉(zhuǎn),使得結(jié)點B成為祖父結(jié)點,結(jié)點A成為結(jié)點B的右孩子

接下來,我們讓結(jié)點B變?yōu)楹谏?,結(jié)點A變?yōu)榧t色。

經(jīng)過上面的調(diào)整,這一局部重新符合了紅黑樹的規(guī)則。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2020-10-30 09:56:59

Trie樹之美

2022-09-21 07:57:33

二叉搜索樹排序二叉樹

2022-09-26 07:56:53

AVL算法二叉樹

2021-03-18 08:44:20

Java數(shù)據(jù)結(jié)構算法

2017-10-10 16:59:28

Java數(shù)據(jù)結(jié)構算法解析

2024-11-07 15:36:34

2020-10-21 14:57:04

數(shù)據(jù)結(jié)構算法圖形

2023-03-08 08:03:09

數(shù)據(jù)結(jié)構算法歸并排序

2020-09-17 07:37:09

紅黑樹數(shù)據(jù)結(jié)構

2023-09-22 11:17:50

紅黑樹結(jié)構數(shù)據(jù)結(jié)構

2023-10-27 07:04:20

2021-04-07 09:26:37

Java數(shù)據(jù)結(jié)構算法

2021-03-24 10:41:04

Java數(shù)據(jù)結(jié)構算法

2021-09-29 18:28:41

數(shù)據(jù)結(jié)構算法最小生成樹

2020-11-02 09:15:47

算法與數(shù)據(jù)結(jié)構

2023-03-07 08:02:07

數(shù)據(jù)結(jié)構算法數(shù)列

2023-03-02 08:15:13

2023-03-10 08:07:39

數(shù)據(jù)結(jié)構算法計數(shù)排序

2023-04-27 09:13:20

排序算法數(shù)據(jù)結(jié)構

2020-05-06 16:41:36

紅黑樹二叉查找樹
點贊
收藏

51CTO技術棧公眾號