gpt4 book ai didi

algorithm - 从最小堆中移除的平均时间复杂度

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:18:34 25 4
gpt4 key购买 nike

按顺序移除(即最小堆上的 removeMin)堆上所有元素的平均时间复杂度 ???

最佳答案

这个问题本质上是关于堆排序的——构建一个最小堆,然后一次删除一个元素以生成一个排序列表。构建最小堆的时间复杂度为 O(N),而这个成本将主要由提取元素的成本决定。

堆排序提取阶段的最坏情况相对容易——每次移除是 O(log N) 并且有 N 个,因此复杂度必须是 O(N log N)。

这并不意味着平均值是 O(N log N)。为此,我们需要 Lower bound on heapsort?展示更困难的东西——即,提取阶段的最佳案例复杂度也是 Theta(N log N)。

平均值必须介于最佳 (Theta(N log N)) 和最差 (O(N log N)) 情况之间,Theta(N log N) 也是如此。

关于algorithm - 从最小堆中移除的平均时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37221288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com