[英]Deleting a node from B tree
最小密钥数= 2最大密钥数= 5
P
CL TX
AB DEJK NO QRS UV YZ
删除密钥D:
CLPTX
AB EJK NO QRS UV YZ
这个答案是根据Introduction to Algorithms by thomas H . Cormen
Introduction to Algorithms by thomas H . Cormen
pg。 没有501
它说: 这是情况3b:递归不能下降到节点CL,因为它只有2个键所以我们需要向下推P并将其与CL和TX合并以形成CLPTX我们从leaf中删除D(case1)
但我认为这个答案也很好:
P
CL TX
AB EJK NO QRS UV YZ
因为叶节点EJK仍然有3个键满足最小键约束。
请解释一下。
删除算法从上到下,因此无法知道叶子是否足够。
为了确保算法每次都有效,我们决定合并具有最小键(但合法)的单元格。 那是因为如果叶子需要父母“捐赠”,他们的父母就能提供。
注意:我说“离开”以简化事情,但它也适用于沿途的每个细胞。
注意2:这就是为什么在insert
你做相反的事情,即使在特定情况下你可能不需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.