【发布时间】:2016-10-14 09:09:31
【问题描述】:
假设您使用数组实现了一个堆,并且每次数组已满时,您将其复制到一个其大小翻倍的数组中。将元素插入堆的摊销时间复杂度(最坏情况下)是多少?
我认为我们有T(n) = n * n(这是最坏情况下一系列 n 操作的总成本的上限),然后根据一个公式的摊销复杂度是T(n) / n = n^n / n = n。
但我认为这是非常错误的,因为直觉很清楚我应该得到log(n)或更低......那么我应该如何计算呢?
【问题讨论】:
-
离题。不是编程问题。试试cs.stackexchange.com
-
为什么?这里有一个数据结构标签和很多类似的问题。我认为你错了
标签: algorithm data-structures heap time-complexity amortized-analysis