根据我的理解:
- O(N) - 根据输入N的不同值运行算法所需的时间。
- O(1) - 算法执行所需的恒定时间,无论输入的大小如
int val = arr[10000];
"...对于特定输入,O(N)代码非常可能比O(1)代码运行得更快。大O表示的只是增长速度。"
可以有人帮我理解作者的陈述吗?
- O(N)的代码比O(1)的代码运行更快吗?
- 作者指的是哪些具体的输入?
- 增长速度是指什么?
while (true) { ; }
。O(n)的例子:for (int i = 0; i < n; i++) { ; }
。哪个需要更长时间? - Erwin Bolwidt