Algorithm 跟踪的时间复杂度是多少? intj=0; 对于(int i=0;i
有人能更直观地解释它的时间复杂性吗?Algorithm 跟踪的时间复杂度是多少? intj=0; 对于(int i=0;i,algorithm,loops,time-complexity,big-o,nested-loops,Algorithm,Loops,Time Complexity,Big O,Nested Loops,有人能更直观地解释它的时间复杂性吗?intj=0; int j = 0; for(int i = 0; i < n; ++i) { while(j < n && arr[i] < arr[j]) { j++; } } 对于(int i=0;i
intj=0;
int j = 0;
for(int i = 0; i < n; ++i) {
while(j < n && arr[i] < arr[j]) {
j++;
}
}
对于(int i=0;i
在给定代码中,变量j
的值在两个循环的外侧初始化为0
。在内部循环中,变量j
的值始终递增。如果arr[i]
则j
的值将增加1
,否则将执行内部循环的内容。请注意,j
的值不能大于n
。因此,给定代码片段的复杂性总是O(n) intj=0;
对于(int i=0;i
在给定代码中,变量
j
的值在两个循环的外侧初始化为0
。在内部循环中,变量j
的值始终递增。如果arr[i]
则j
的值将增加1
,否则将执行内部循环的内容。请注意,j
的值不能大于n
。因此,给定代码片段的复杂性总是O(n) 是的,我认为如果你说j
永远不能大于n
,答案会更清楚。是的,我认为如果你说j
永远不能大于n
,答案会更清楚。
int j = 0;
for(int i = 0; i < n; ++i) {
while(j < n && arr[i] < arr[j]) {
j++;
}
}