按指数计算的二进制计数器的摊销时间成本

时间:2016-04-21 16:17:55

标签: algorithm amortized-analysis

如果二进制计数器花费O(2 ^ i)时间来改变第i位的值,n增量运算总成本的上限是多少?

1 个答案:

答案 0 :(得分:3)

假设您将计数器设为零,那么

  • n操作改变1位(成本O(n)),
  • n / 2次操作改变2位(成本O(n)),
  • n / 4操作改变4位(成本O(n)),
  • ...

这意味着成本受O(n)乘以计数器中总位数的限制,即O(log n),因为n位数需要O(log n)位。因此,总时间复杂度为O(n log n),因此每个操作的摊销成本为O(log n)。