📜  数据结构 |堆 |问题 8

📅  最后修改于: 2021-09-08 13:48:38             🧑  作者: Mango

在有n个元素且根为最小元素的最小堆中,可以及时找到第7个最小元素
一种) \theta (n log n)
b) \theta (n)
C) \theta (日志 n)
d) \theta (1)

这个问题在最初的 GATE 考试中不清楚。为清楚起见,假设 Min-Heap 中没有重复项,并且允许访问根以下的堆元素。
(一)
(乙)
(C) c
(D) d答案: (D)
说明:第 7 个最小的元素必须在前 7 个级别中。任何二叉堆中前 7 层的节点总数最多为 1 + 2 + 4 + 8 + 16 + 32 + 64,这是一个常数。因此我们总能找到第 7 个最小的元素\theta(1)时间。

如果允许 Min-Heap 有重复,那么时间复杂度变为 Θ(Log n)。

此外,如果 Min-Heap 不允许直接访问根以下的元素并且仅支持 extract-min() 操作,那么时间复杂度也变为 Θ(Log n)。
这个问题的测验