摊销分析[动态数组]

时间:2016-03-28 13:12:36

标签: array-algorithms amortized-analysis

设x为空数组的大小。如果阵列变满,将创建一个长度为k>的新阵列。 X。旧数组的内容将被复制到新数组中,新元素也将被存储。

  • 以k步
  • 创建长度为k的数组
  • 复制元素需要一段时间。

问题: 你如何选择k使得每个插入操作已经摊销了恒定的时间,并且n个元素的插入需要Θ(n)?证明您的假设,即您的选择会导致每次插入操作的摊销时间不变,并进行摊销分析。

我的直觉是说k = 2 * n会是一个好主意,但我不知道如何证明它。我认为我完全不了解摊销分析。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

指数增长优于持续增长。但是,无论是按因子2还是因子2.1增长它都没有硬性规则。请查看下面的URL以获取更多详细信息。

What is the ideal growth rate for a dynamically allocated array?