Algorithm 摊销分析会计法

Algorithm 摊销分析会计法,algorithm,aggregate-functions,aggregate,amortized-analysis,Algorithm,Aggregate Functions,Aggregate,Amortized Analysis,我试图在数据结构上的n个操作序列中找到每个操作的摊销成本,其中,如果I是3的精确幂,则第I个操作成本I,否则为1 谁能给我解释一下如何解决这个问题吗 我发现O(6),我不知道它是对还是错 对于给定的n,有楼层(log_3(n))成本i的“昂贵”操作,其余每个操作都需要O(1) O(1/n * (n - floor(log_3(n)) + sum_k=0..floor(log_3(n)) { 3^k }) ) = O(1/n * (n + (3^(floor(log_3(n))+1) - 1)

我试图在数据结构上的n个操作序列中找到每个操作的摊销成本,其中,如果I是3的精确幂,则第I个操作成本I,否则为1

谁能给我解释一下如何解决这个问题吗


我发现O(6),我不知道它是对还是错

对于给定的
n
,有
楼层(log_3(n))
成本
i
的“昂贵”操作,其余每个操作都需要
O(1)

  O(1/n * (n - floor(log_3(n)) + sum_k=0..floor(log_3(n)) { 3^k }) )
= O(1/n * (n + (3^(floor(log_3(n))+1) - 1) / (3 - 1) ) )  // applying the formula for a finite sum of a geometric series
= O(1/n * (n + c * n) )
= O(1)

请注意,大Oh符号从常数因子中抽象出来,因此
O(6)
没有多大意义。

到目前为止您尝试了什么?请向我们展示您想要计算的代码,或者您可以向我解释一下,如何使用会计方法解决它