【发布时间】:2013-06-11 22:45:24
【问题描述】:
就像大 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 问题”(当获取大量数据作为输入时该怎么办)有哪些解决方案?
【问题讨论】:
-
O(log n) 通常是在算法分而治之的时候,比如二分搜索或类似的。
-
这是一个实用的(编码测试)示例leetcode.com/problems/find-peak-element => 查看问题和解决方案