我在研究时遇到了这个问题,要求考虑执行n个操作序列的数据结构。如果第k个操作的成本为k(如果它是一个完美的正方形而成本为1),那么操作的总成本是多少,以及每个操作的摊余成本是多少。
我在提出求和公式时遇到了一些困难,该公式提供了一个完美正方形的定义,在那里我可以看到总和的收益率。有什么想法/建议吗?
答案 0 :(得分:0)
从1到n的i ^ 2之和可以计算为n(n+1)(2n+1)/6
。我在数学书中找到它,无法在线找到一个简单的公式。但请查看http://mathworld.wolfram.com/Sum.html,公式(6)。
要计算此总和,请n
为k
的平方根,向下舍入。该公式与n^3
成比例,即sqrt(k)^3 = k^(3/2)
。这给出了O(k^(3/2))
的摊销时间。