举一反三
- 分析以下算法的时间复杂度。void fun(int n){ int i,j,k; for (i=1;i<= n;i++) for (j= 1;<= n;j++) . { k=1; while (k<=n) k=5*k;}
- 下面程序的时间复杂度为 _______。void fun( int n) { int i=1; while (i<=n) i=i*2}
- 下面一段代码的时间复杂度是? void fun1( int n ) { i=1,k=100; While( i<=n*n ) k=k+1; }
- 有以下算法,其时间复杂度为。 void fun (int n){ int i=0; while(i*i*i<=n) i++; }
- 以下算法的时间复杂度为。 void fun(int n) { inti=l; while(i<=n) i=i*2; }
内容
- 0
以下程序运行的输出结果是______。 #include<stdio.h> #define M 100 void fun(int m,int *a,int *n) int i,j=0; for(i=1;j<=m;i++) if(i%7==0 ‖ i%11==0) a[j++]=i; *n=j; main( ) int aa[M],n,k; fun(10,aa,&n); for(k=0;k<n;k++) if((k+1)%20==0)printf("\n"); else printf("%4d",aa[k]); printf("\n");
- 1
以下程序调用fun函数求数组中最大值所在元素的下标。 #include void fun(int *s,int n, int *k) { int i; for(i=0,*k=i;is[*k]) _ } int main() { int a[5]={1,8,3,6,9},k; fun(a,5,&k); printf(“%d,%d ”,k,a[k]); return 0; }
- 2
下面程序的时间复杂度为 _______。void fun( int n) { int i=1; while (i=n) i=i*2} A: O(n) B: O([img=18x22]1803a3c2735c0bc.png[/img]) C: O(log2n) D: O(nlog2n)
- 3
分析以下算法的时间复杂度。void fun( int n)i{ int s = 0,i,i,k; for (i - 0; i<= n; i++ ) for (j= 0;j<=i;j++) for (k = 0;k<j;k++) s tt ;}
- 4
下面程序段的时间复杂度是_______。 int fun(int n){int i=1,s=1;while(s<n) s=++i;}