用循环表示的对数复杂度?

Ser*_*pov 6 algorithm complexity-theory big-o

据我所知,线性复杂度可以表示为简单循环,二次复杂度可以表示为嵌套循环.如何表示立方和对数复杂度?

谢谢!

Pau*_*l R 9

简单的循环可以具有对数复杂度,例如

for (i = 1; i <= N; i *= 2)
    ...
Run Code Online (Sandbox Code Playgroud)

正如其他人已经回答的那样,三重嵌套循环将具有立方复杂性.


Tud*_*dor 5

由于三次为O(n ^ 3),因此它将是三个嵌套循环。

对数不是那么简单,通常需要递归关系。例如,MergeSort为O(n * log(n)),因为它形成了高度为log(n)的递归树,并且每个级别都需要O(n)合并操作。