【问题标题】:Time complexity for finding k-th minimum element in array using max heapify使用 max heapify 在数组中查找第 k 个最小元素的时间复杂度
【发布时间】:2022-01-23 21:26:23
【问题描述】:

我已经给出了一个数组(注意:它是不是堆排序的)并且我想使用 max heapify 方法找到第 k 个最小元素的时间复杂度? 最初是堆排序的数组有很多可用的解决方案吗? 但在这种情况下它只是一个数组

【问题讨论】:

  • 你能证明自己任何努力解决这个问题吗?

标签: time-complexity heap


【解决方案1】:

堆化前 ? 值的时间复杂度为 O(?)。

要潜在地将所有剩余值与该堆中的顶部值交换(并恢复堆属性),时间复杂度为 O((?-?)log?)。

读取该堆的顶部值(即答案)的时间复杂度为 O(1)。

结合起来,我们得到 O(? + (?-?)log?)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    相关资源
    最近更新 更多