此循环在Big-O中的运行时间是什么?
for(int n=100; n <= 60000; n = n * 3){
....inner loop code....
}
我认为它是O(logn),但我不确定,因为它运行了一定的次数。从100开始,到每次60000乘以3,是运行的固定次数。是O(logn)吗?
答案 0 :(得分:1)
正确的答案是O(1),因为循环运行一定次数,在这种情况下,循环始终是线性时间。
答案 1 :(得分:0)
它不是O(log n)。就像您说的那样,此循环的运行时间是恒定的,并且不依赖于某些变量n。如果循环运行的次数取决于外部提供的某个参数(例如数组的长度或该算法处理的内容),则可以在这里使用Big-O表示法
答案 2 :(得分:0)