【发布时间】:2019-08-10 15:33:14
【问题描述】:
所以一个常规的二叉堆有一个操作 extract_min 是 O(log(n)) 最坏的时间。假设 extract_min 的摊销成本为 O(1)。设 n 为堆的大小
因此,我们执行了 n 个 extract_min 操作的序列,它最初包含 n 个元素。这是否意味着整个序列将在 O(n) 时间内处理,因为每个操作都是 O(1)?
【问题讨论】:
-
这对于 cs.stackexchange.com 来说可能是一个更好的问题。无论哪种方式 - 如果您运行 n O(1) 操作,那么是的,这需要 O(n)。如果你以某种方式结束每个 extract_min 操作都需要 O(log n),那么你会得到 O(n log n)。
-
谁说 extract_min 摊销了 O(1) 成本?
标签: data-structures amortized-analysis