Tag: 大o

如何找到while循环的时间复杂度(Big O)?

代码1 int i = 0; int j = 0; while(i < n){ while(j < n){ printf("{%d,%d}",arr[i],arr[j]); j++; } i++; j = 0; printf("\n"); } 代码2 int result = 0; int i = 0; while (i = n / 2 && i < n){ result += arr[i]; i += 1; } } printf("%d\n", result); 我只知道如何用for循环找到时间复杂度,但我不确定while循环。 如果有人能帮助我找到每个代码的总运行时间,将不胜感激。

嵌套循环的复杂度除以2

我试图找出使用Big O表示法的for循环的复杂性。 我之前在其他课程中已经完成了这个,但是这个比其他课程更严格,因为它是在实际的算法上。 代码如下: for(i=n ; i>1 ; i/=2) //for any size n { for(j = 1; j < i; j++) { x+=a } } 我到了第一个循环是O(log_2(n))。 至于第二个循环,我有点迷路! 感谢您在分析中提供的帮助。