简答题一个最小最大堆(minmaxheap)是一颗完全二叉树,每个结点均包含一个关键字。树的根结点称为第1层。如果x是树上奇数层(又称最小层)的结点,则以x为其根结点的二叉树上所有结点关键字均大于x。如果x是树上偶数层(又称最大层)的结点,则以x为其根结点的二叉树上所有结点关键字均小于x。 试实现删除最小最大堆的最小关键字结点运算delMin(结果仍然保持最小最大堆,可以用伪代码)。
【参考答案】delMin可以通过删除最后一个结点x,将x插入到根结点,然后从上到下调整。首先在min层构成的堆上自上而下调整一层,然......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)