iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
0

記錄學習內容。
主要是看網路上的文章和影片,做些紀錄。
內容可能有錯誤。

2-3樹
2-3 Tree Insertion
083 B tree introduction deletion

整理:
1
2-3樹 : 每個parent,都有2個或3個的children。
parent有2個children的話,parent就要有1個資料 。
parent有3個children的話,parent就要有2個資料 。

2-3-4 樹 : 每個父母節點,都有2個 或3個 或4個 的子節點

2
刪除2-3樹 節點的步驟:

一 先search這個節點 ,先判斷是 leaf 還是 no-leaf

二 如果是 no-leaf ,就 去找 左邊最大值 或是 右邊最小值 (葉子) 取代 no-leaf 。
所以最下面的 左大 、右小 就會 移到上面 ,就會 少一個葉子 。
( 繼續 到 三 程式) 。

如果是leaf , 直接刪除leaf 。


檢查 這個樹 有沒有變成 不是 2-3 樹?
如果變成不是2-3樹,就要調整 。 如果是2-3樹了(就程式結束了,成功刪除)。

調整的步驟:
如果你的 左邊鄰居或右邊鄰居 (siblings) 有 兩個 資料,代表可以旋轉。
就用旋轉的方式 , 變回2-3樹(就程式結束了,成功刪除)。

如果不能旋轉 ,就用combine(合併)的方式 。parent節點不斷往下補children節點(父母向小孩要錢)

其他:
R樹
https://zh.wikipedia.org/wiki/R%E6%A0%91


上一篇
了解樹
下一篇
HSV色彩空間
系列文
學習筆記46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言