【发布时间】:2020-02-28 17:33:23
【问题描述】:
所以这是我面临的一个挑战(从介绍到算法第 3 版):
假设我们在一个数据结构上执行一系列 n 操作 如果 i 是 2 和 1 的精确幂,则第 i 个操作的成本为 i 除此以外。使用潜力法确定摊余成本 每次操作。
在遇到这个之前,我以为我理解了潜在的方法;我已经尝试并试图解决它,但不能。我的困难是当我必须定义潜在的 $\phi(D_i)$(第 i 次操作后数据结构 $D$ 的潜力)。
我的基本想法是定义势函数,使得当 i 是 2 的因子时 $\phi(D_i) = i$。这样我就可以“支付”此操作的成本,甚至不必再分析 i 是 2 倍的情况。
但是,这可能是正确的想法,也可能不是正确的想法 - 请不要让它妨碍您的创造力/告诉我它是否错误以及正确的做法是什么:) 你们中的任何一个聪明的巫师都可以带我去吗通过步骤来解决这个任务?
【问题讨论】:
标签: algorithm