单选题
从一棵高度为h的B树中删除一个已有的关键字。假定内存空间足够大,可以把查找被删关键字所在结点而读入的结点都保存在内存中,最坏情况下从下向上,一直到根都要进行结点的合并,那么在这种情况下需要读/写______次磁盘。
A.h+1
B.2h-1
C.3h-2
D.4h-3
A
B
C
D
【正确答案】
C
【答案解析】
[解析] 如果被删关键字不在叶结点,则需要用它右边子树最小关键字(在叶结点内)或它左边子树最大关键字(在叶结点内)填补上来,再到叶结点中删除填补上去的关键字,这个过程需要读盘h次。假设它们一直保存在内存中,最坏情况下从叶结点到根结点的下一层结点共h-1层要做结点合并,每次合并需读入1个兄弟结点,写出合并后的结点,共3h-2次读/写盘,另外共删除了h个结点。
提交答案
关闭