O(Log N)到底是什么意思?
我目前正在学习大O符号运行时间和摊销时间。我理解O(N)线性时间,这意味着输入的大小成比例地影响算法的增长.同样的情况也是如此,例如,二次时间O(N)2)等.甚至算法,如置换生成器,与O(n!)时间的增长是因式分解的。
例如,以下函数是O(N)因为该算法与其输入量成比例增长。n:
f(int n) {
int i;
for (i = 0; i < n; ++i)
printf("%d", i);
}
类似地,如果存在嵌套循环,则时间为O(N)2).
但究竟什么是O(原木n)?例如,说一个完整二叉树的高度是什么意思?O(原木n)?
我确实知道(也许不是很详细)什么是对数,从这个意义上说:日志。10100=2,但我不知道如何识别具有对数时间的函数。