区间的堆操作的复杂性


双端优先级队列 (DEPQ) 或区间堆具有以下操作 −

isEmpty()

此函数检查 DEPQ 是否为空,如果为空则返回 true。

size()

此函数返回 DEPQ 中存在的元素总数。

getMin()

此函数返回具有最低优先级的元素。

getMax()

此函数返回具有最高优先级的元素。

put(z)

此函数将在 DEPQ 中插入元素 z。

removeMin()

此函数删除具有最小优先级的元素并返回此元素。

removeMax()

此函数删除具有最高优先级的元素并返回此元素。

  • isEmpty()、size()、getMin() 和 getMax() 操作各消耗 O(1) 的时间;
  • put(z)、removeMin() 和 removeMax() 各消耗 O(log n) 的时间;
  • 初始化一个具有 n 个元素的区间堆需要 O(n) 的时间。

更新时间: 03-1月-2020

165 次浏览

开启你的职业生涯

完成该课程即可获得认证

开始学习
广告
© . All rights reserved.