堆栈操作的摊销分析

时间:2021-03-03 16:37:27

标签: algorithm stack time-complexity amortized-analysis

假设我们在最初为空的堆栈上执行一系列操作(即top、push和pop) 使堆栈大小不超过 k。每 k 次操作后,我们复制整个 堆栈用于备份目的。 如何用记账法证明每个栈操作都会有O(1)摊销 复杂度与堆栈是否被复制无关?

1 个答案:

答案 0 :(得分:1)

您有 k 个简单的操作和一个最多需要 k 次的复制操作。

你们一起进行 p 基本运算,然后 p < k + k = 2*k

因此每个操作的摊销复杂度为 p/k <= 2*k/k = 2 = O(1)

相关问题