n位计数器摊销分析

时间:2012-10-05 01:39:40

标签: algorithm counter amortized-analysis

假设我们有一个支持两个操作的二进制计数器:递增并将所有位重置为零。如果对单个位的修改或检查需要Theta(1)时间,那么如何将计数器实现为位数组,以便在初始零计数器上的任何递增和复位操作序列花费O(n)时间?

通过聚合分析,并考虑到并非所有位都必须每次都翻转的事实,我能够看到一个只允许递增的计数器花费n(n)时间进行n次操作。但我坚持如何实现增量重置计数器。据我所知,翻盖是一个翻转,没有任何东西可以让1111变得比平常更快。然而,我注意到,通过增量操作,我们不会经常得到超级昂贵的全1情况。

我想真正的问题是,实际上有一个策略来实现一个带有重置实用程序的高效计数器,或者我只是试图证明它会转向像一个只有增量操作的计数器?我唯一的提示就是“保持指向高阶1的指针”,这似乎暗示了前者。

0 个答案:

没有答案