此处给出了首次复杂性分析
Door in an infinite wall algorithm
我的问题是,我们可以用不同的方式重写完全相同的算法并将其变为O(n^2)
,但为什么呢?
如果n=2^k
,那么在最坏的情况下,我们必须通过移动与上述算法完全相同的方式来执行2^(2k+1)
步骤。在某些代数变为8*(2^(k-1))^2
之后,该代数小于8*(n^2)
。因此O(n^2)
。
同一算法如何具有两种不同的时间复杂度?
答案 0 :(得分:0)
您的错误出现在此声明中:
......我们必须走
2^(2k+1)
步
事实并非如此。你似乎错误地复制了这个公式:
2 x 2^(k-1)
referenced question or answer中没有任何地方 k 的系数不同于1,并且没有理由为什么需要为它引入2来获得 2k