设计一种数据结构,支持在一个n元素集合上进行以下操作:
有没有更好的方法?请尝试使用堆。这不是一道家庭作业题,我正在为面试做准备,这个问题来源于Skiena的书。
- 时间复杂度为
O(lg n)
的插入操作 - 时间复杂度为
O(1)
的删除最大值操作。请注意,传统堆的删除最大值需要O(lg n)
的时间。
O(1)
的时间内查找我的数组,以找到下一个合适的后继者(我假设我已经设置好了智能的后继者)。有没有更好的方法?请尝试使用堆。这不是一道家庭作业题,我正在为面试做准备,这个问题来源于Skiena的书。