我对b树的整体高级运作有一个粗略的了解,但人们似乎总是掩盖的是每个节点的内部运作。
我目前的理解是每个节点由一组键和一个指针数组成(指向另一个节点或相关数据)。但是,如何有效地在排序的数组上执行插入。每次插入/删除密钥时,是不是O(n)(n作为数组的大小,而不是整个树中的元素)向上或向下移动元素?
答案 0 :(得分:1)
熟悉的"它需要O(n)插入排序的数组"来自n
引用数组大小的情况。
在B(+ / * /你命名)树中,节点是常量的数组,即分支因子。 (节点也可以部分填充,但这里没有任何改变)
如果你的数组只有O(1)长,很难凭空得到n
因子,所以插入它(和其他各种操作)都是O(1 )。