區間的堆操作的複雜性
雙端優先順序佇列 (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) 的時間。
廣告