📜  数据结构|堆|问题8

📅  最后修改于: 2021-06-29 19:04:31             🧑  作者: Mango

在具有n个元素且最小元素位于根的最小堆中,可以及时找到第7个最小元素
一种) \theta (n记录n)
b) \theta (n)
C) \theta (登录号)
d) \theta (1)

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

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

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