O(Log N)到底是什么意思?我目前正在學(xué)習(xí)大O符號(hào)運(yùn)行時(shí)間和攤銷時(shí)間。我理解O(N)線性時(shí)間,這意味著輸入的大小成比例地影響算法的增長(zhǎng).同樣的情況也是如此,例如,二次時(shí)間O(N)2)等.甚至算法,如置換生成器,與O(n!)時(shí)間的增長(zhǎng)是因式分解的。例如,以下函數(shù)是O(N)因?yàn)樵撍惴ㄅc其輸入量成比例增長(zhǎng)。n:f(int n) {
int i;
for (i = 0; i < n; ++i)
printf("%d", i);
}類似地,如果存在嵌套循環(huán),則時(shí)間為O(N)2).但究竟什么是O(原木n)?例如,說一個(gè)完整二叉樹的高度是什么意思?O(原木n)?我確實(shí)知道(也許不是很詳細(xì))什么是對(duì)數(shù),從這個(gè)意義上說:日志。10100=2,但我不知道如何識(shí)別具有對(duì)數(shù)時(shí)間的函數(shù)。
O(Log N)到底是什么意思?
當(dāng)年話下
2019-06-18 15:37:58