【发布时间】:2017-10-18 20:29:05
【问题描述】:
我是堆和二进制堆的新手,我想了解为什么我们需要使用二进制堆来实现优先级队列。我也明白二进制堆的底层数据结构又是一个数组。
所以我的问题是为什么我们不能使用按降序(对于最大堆)或升序(对于最小堆)排序的数组来表示优先级队列?我在这里可能错了,但我认为如果以这种方式实现,findMax、findMin、insert 和 delete 等操作的时间复杂度将几乎保持不变。那么我们不能不使用排序数组来表示优先级队列吗?
我已经阅读了这个答案:Heap vs Binary Search Tree (BST)
【问题讨论】:
-
@Alexander 太棒了
标签: algorithm tree heap priority-queue binary-heap