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