在有n个元素且根为最小元素的最小堆中,可以及时找到第7个最小元素
一种) (n log n)
b) (n)
C) (日志 n)
d) (1)
这个问题在最初的 GATE 考试中不清楚。为清楚起见,假设 Min-Heap 中没有重复项,并且允许访问根以下的堆元素。
(一)
(乙)乙
(C) c
(D) d答案: (D)
说明:第 7 个最小的元素必须在前 7 个级别中。任何二叉堆中前 7 层的节点总数最多为 1 + 2 + 4 + 8 + 16 + 32 + 64,这是一个常数。因此我们总能找到第 7 个最小的元素时间。
如果允许 Min-Heap 有重复,那么时间复杂度变为 Θ(Log n)。
此外,如果 Min-Heap 不允许直接访问根以下的元素并且仅支持 extract-min() 操作,那么时间复杂度也变为 Θ(Log n)。
这个问题的测验