分析下面语句是时间复杂度为()for(count = 0, i = 1; i <= n; i=i*2) count++;
http://edu-image.nosdn.127.net/C54DE2FC7D1B70C9B78222DFAA9DBEEB.png?imageView&thumbnail=890x0&quality=100
举一反三
- 下列程序中sumFun()的算法时间复杂度为 ( ) 。int sumFun(int n) { int count = 0; for (int i = 1; i < n; i = i * 2) for (int j = i; j > 0; j = j - 1) count = count + i + j; return count; } A: O(n) B: O(nlogn) C: O(n^2) D: O(logn logn)
- 现有如下程序段: #include"stdio.h" main() {int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(k[i]) {if(k[i]%2==0||k[i]%5==0)count++; i++;} printf("%d,%d\n",count,i);} 则程序段的输出结果为.
- 分析下面算法(程序段)给出最大语句频度_____,该算法的时间复杂度是_____。 i=1; while(i<= n) i=i*2;
- 下面程序段的时间复杂度是()。for(count = 0, ... <=n;j=j*2) count++;
- 【填空题】下面程序段的时间复杂度是 。 x=0; for( i =1; i <n; i ++) for(j= i +1;j<=n;j++) x++; 试 分析下面程序段的时间复杂度 。 x=9 0 ; y=100; w hile(y>0) if(x>100) {x=x-10;y--;} else x++; 试 分析下面程序段的时间复杂度 。 x=0; for(i=1; i<n; i++) for (j=1; j<=n-i; j++) x++; 试 分析下面各程序段的时间复杂度 。 i=1; while(i<=n) i=i*3;
内容
- 0
下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i<20;i++) scanf("%d", ______);{ if(a[i]>0){ count++;sum+=______;}}printf("sum=%d,count=%d\n",sum,count);}
- 1
分析下面算法段中@语句的频度和算法的时间复杂度。 x=1,s=0; for(i=1;i<=n;++i) {++x; s+=x;------@ }
- 2
分析下面算法(程序段),给出最大语句频度____,该算法的时间复杂度是___。 for(i=0;i<n;i++) for(j=0;j< n;j++) A[i][j]=0;[/i]
- 3
分析下面算法(程序段),给出最大语句频度______,该算法的时间复杂度是______。 for(i=0;i< n;i++) for(j=0;j< i; j++) A[i][j]=0;[/i]
- 4
下面关于 for 语句的写法有错误的是 A: for(count = 0; i <= 200; i++) if ( (c=getchar()) == ‘A’) count++; B: for(a_1 = 5, a_2 = 2, i = 2; i <= 1000; i = i+2) { a_1 = 3a_1 +4a_2; a_2 = 3a_2+4a_1;} C: for( ; ; ) D: for((c=getchar()) == ‘ ’||c==’\t’)