我试图在数据结构上的n次操作序列中找到每次操作的摊余成本,其中如果i是3的精确幂,则第i次操作会花费i,否则为1
任何人都可以解释我如何解决问题
我找到了O(6),我不知道它是对还是错。
答案 0 :(得分:0)
对于给定的TextView
,有n
'昂贵'的操作,费用为floor(log_3(n))
,其余的则需要i
。
O(1)
请注意,Big-Oh表示法远离常数因素,因此 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)
没有多大意义。