拆分节点时,B树节点中的密钥是否重复?

时间:2010-04-03 00:02:08

标签: b-tree

当拆分B树中的节点时,来自原始节点的密钥是否在新节点中重复?这样做的目的是什么?这不是效率低下的吗?

2 个答案:

答案 0 :(得分:2)

没有。这一切都是用指针完成的。一半的指针被移动到新节点。

当然,没有'B树'这样的东西。有许多不同的实现。我可以想象一个密钥实际存储在节点中的密钥,例如密钥是整数的树。但它们仍然不会被“复制”,只会复制数据。

如果您的牛肉是被分割的节点中留下的存储空间,那么,这是另一种优化选择,是否可以释放和重新分配较小的或不重新分配。可能不是,因为更多的插入可以到达该节点的关键空间的1/2。

答案 1 :(得分:0)

我认为你的意思是B +树。

在我写的B +树中,我在分割期间复制了父节点中的键值。父级中的key [pos]设置为左节点的最低值,并指向左侧节点。右节点的最低值成为父节点中的键[pos + 1]。