📜  门| GATE CS 2021 |设置 2 |问题 12

📅  最后修改于: 2021-09-26 04:27:20             🧑  作者: Mango

令 H 是一个由 n 个元素组成的二进制最小堆,实现为一个数组。找到 H 中最大元素的最佳算法的最坏情况时间复杂度是多少?
(A) Θ(1)
(B) Θ(logn)
(C) Θ(n)
(D) Θ(nlogn)答案: (C)
说明:在最小堆的情况下,如果我们需要找出最大元素而不是它应该出现在叶子节点上,所以在最坏的情况下,我们需要搜索到叶子节点,我们不能在这里执行二分搜索,因为它不是 BST 并且堆不需要按排序顺序,所以在最坏的情况下它将是 (n/2)+1。在标准化时,它将是 O(n),这是选项 3。

参考 – 最小堆中的最大元素
这个问题的测验