Algorithm 嵌套循环的大O时间复杂性
以下代码的时间复杂度是多少Algorithm 嵌套循环的大O时间复杂性,algorithm,data-structures,time-complexity,big-o,Algorithm,Data Structures,Time Complexity,Big O,以下代码的时间复杂度是多少 int i = 0; while(i*i <=N) { for(int j = 0; j <=N; j++) { for(int k = 0; k <=N; k++, i++) { //O(1) operation } } i++; } inti=0; while(i*itl;dr):此代码在O(n^2)中运行 详细答复: 外部“循环”:while(i*itl;dr):此代码在O(n^2)中运行 详细答复: 外部
int i = 0;
while(i*i <=N) {
for(int j = 0; j <=N; j++) {
for(int k = 0; k <=N; k++, i++) {
//O(1) operation
}
}
i++;
}
inti=0;
while(i*itl;dr):此代码在O(n^2)
中运行
详细答复:
外部“循环”:while(i*itl;dr):此代码在O(n^2)
中运行
详细答复:
外部“循环”:while(i*i
嵌套循环的大O时间复杂性
执行操作“//O(1)操作
”的次数为(N+1)^2次。循环本身进行计算的次数(例如,执行测试j
嵌套循环的大O时间复杂性
操作“//O(1)操作
”执行次数为(N+1)^2次。循环本身完成计算的次数(例如,执行测试jThank you!@amitThank you!@amit
int i = 0;
if (i * i <= N) { // Since the while loop does not repeat more than once
for(int j = 0; j <=N; j++) {
for(int k = 0; k <=N; k++, i++) {
//O(1) operation
}
}
i++;
}
int i=0;
int count=0;
while(i*i <= N)
{
for(int j=0; j<=N; j++)
{
for(int k=0; k<=N; k++, i++)
{
count++;
}
}
i++;
printf("i after the while() loop: %d\n",i);
}
printf("Number of steps: %d\n",count);