[英]Deletion from B-Tree - M=5
我正在處理非常特殊的情況下BTree中的刪除
M = 5-即-節點中的最大鍵數為4而節點中的最小鍵數為2
現在,當我使用一種防御方法在BTree中刪除時(我必須使用這一方法),當我接近一個節點時,我必須保證它的密鑰比所需的最小密鑰多。
這是我的問題-假設我有一個鑰匙的根,兩個孩子的鑰匙各有2個。 當我接近這些孩子中的一個時,我將必須保證它至少具有3個鍵(因為M = 5)。
我有兩種方法可以做到這一點-向鄰居借錢或向父親借錢並合並。 我不能從鄰居那里借錢,因為它至少有2個密鑰,但是從父親那里借錢並合並會創建一個包含5個密鑰的節點-它大於允許的最大密鑰數(M = 5)。
在這種情況下我該怎么辦? 更具體地說-治療這種情況的正確方法是什么
經典B樹將非根節點的鍵數限制在d到2d之間。 這意味着僅在已經發生下溢並且合並中涉及的其他節點占用最少的情況下,才可以合並節點。 與從父節點拉出的分隔符一起,密鑰計數為(d-1)+ d + 1 = 2d,這是適合節點的最大值。 以防萬一,無法合並。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.