间隔堆操作的复杂性

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

是空的()

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

尺寸()

该函数执行返回DEPQ中存在的元素总数。

getMin()

该函数执行以返回具有最低优先级的元素。

getMax()

该函数执行以返回具有最大优先级的元素。

放(z)

该函数执行以将元素z插入DEPQ中。

removeMin()

该函数执行以删除优先级最小的元素并返回该元素。

removeMax()

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

  • 的操作isEmpty()size()getMin(),和getMax()消耗O(1)每次;

  • put(z),removeMin()和分别removeMax()消耗O(log n);

  • 初始化n个元素间隔堆需要O(n)时间。