就像大 O 符号“O(1)”可以描述以下代码:
O(1):
for (int i = 0; i < 10; i++) {
// do stuff
a[i] = INT;
}
O(n):
for (int i = 0; i < n; i++) {
// do stuff
a[i] = INT;
}
O(n^2):
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
// do stuff
a[i][j] = INT;
}
}
- O(log(n)) 可以描述什么代码?
另一个问题:
- “大 O 问题”有哪些解决方案(当获取大量数据作为输入时该怎么办)?
原文由 Langkiller 发布,翻译遵循 CC BY-SA 4.0 许可协议
经典例子:
这将是:
2 k = x → 对两边应用对数 → k = log(x)