我已经阅读了一些关于 摊销分析 的帖子,但我仍然有一些问题需要理解 潜在方法
主要问题在于如何开发正式的潜在功能? 如何评估潜在功能的正确性?
例如,有一个问题:
对数据结构执行n个操作序列。如果i是2的精确幂,则第i个运算花费i,否则为1。使用潜在方法确定每次操作的摊余成本。
采用潜在功能,我们首先应该提出一个潜在的功能:
。有人告诉我,这是非常直观的,但即使在几个小时后我也无法想出来......
我发现有一个类似的问题:
need to find the amortized cost of a sequence using the potential function method
但是,我认为答案是关于帐户方法。
答案 0 :(得分:2)
提示:
k
每增加一次k
就会增加(显然),并且增加1
。
2^ceiling(Lg(k))
每增加k
次幂,2
就会增加i/2
。