【发布时间】:2011-11-20 18:16:04
【问题描述】:
有 n 个操作序列,如果 i 是 2 的精确幂,则第 i 个操作花费 2i,如果 i 是 3 的精确幂,则花费 3i,所有其他操作花费 1。
我想说这是一个家庭作业问题,我不想让你为我解决它。我已经使用聚合方法解决了它。为此,我将 2 的幂级数和 3 的幂级数相加,得到 10 的摊余成本。然后我使用会计方法对其进行了检查,对于非常长的序列,它并没有失败。但是我的问题是如何证明它永远不会失败,我可以展示我想要的尽可能长的序列,但它仍然不能保证它在一段时间后不会失败。
我也尝试用势函数方法解决它,这是我真正陷入困境的地方,要设备一个势函数我认为你需要非常有创意,我找不到一些条件表明此时这总是等一下,那里也需要一些帮助。
只是一些关于如何在会计方法中证明它以及如何设计潜在功能的想法就足够了。 谢谢
【问题讨论】:
标签: algorithm amortized-analysis