首页 > 试题广场 >

最小-最大堆(min-max heap)是支持两种操作Del

[问答题]
最小-最大堆(min-max heap)是支持两种操作DeleteMin和DeleteMax的数据结构,每个操作用时O(logN)。该结构与二叉堆相同,不过,其堆序性质为:对于在偶数深度上的任意节点X,存储在X上的关键字小于它的父亲但是大于它的祖父(这是有意义的),对于奇数深度上的任意节点X,存储在X上的关键字大于它的父亲但是小于它的祖父,见图:

a. 我们如何找到最小元和最大元?
b. 给出一个算法将一个新节点插入到该最小-最大堆中。
c. 给出一个算法执行DeleteMin和DeleteMax。
d. 你能否以线性时间建立一个最小-最大堆?
e. 设我们想要支持操作DeleteMIn,DeleteMax以及Merge。提出一种数据结构以时间O(logN)支持所有的操作。

这道题你会答吗?花几分钟告诉大家答案吧!