我正在实现依赖B树的数据结构。我需要一种删除树的一部分的方法。
具体地,假设存储在树中的条目从0到n-1编号。给定0< = i< = j< = n-1,removeSubtree(i,j)应该留下包含条目0,...,i-1,j + 1,... n-1的有效B树。
基本情况是当第i个和第j个条目都在同一叶节点中时,这很容易。假设L_i是包含第i个条目的叶节点,L_j是包含第j个条目的叶节点,并且lca(L_i,L_j)是内部节点,其是L_i和L_j的最低共同祖先。怎么办?
任何帮助都将不胜感激。
答案 0 :(得分:0)
您没有说明您的具体困难是什么,但这只是正常删除过程的一个特例。删除键,如果离开节点太空,则从相邻节点旋转元素,必要时合并它们,并根据需要调整父节点。