下面算法的时间复杂度为() int f(unsigned int n) { if (n==0||n==1) return 1; else return n*f(n-1); }A.O(1)B.O(n*n)C.O(n)D.O(n!)

下面算法的时间复杂度为() int f(unsigned int n) { if (n==0||n==1) return 1; else return n*f(n-1); }

A.O(1)

B.O(n*n)

C.O(n)

D.O(n!)


参考答案和解析
D

相关考题:

( 33 )有以下程序#include studio.hint f ( int t[],int n ) ;main{ int a[4]={1,2,3,4},s;s=f ( a,4 ) ; printf ( " %d\n " ,s ) ;}int f ( int t[],int n ){ if ( n0 ) return t[n-1]+f ( t,n-1 ) ;else return 0 ;}程序运行后的输出结果是A ) 4B ) 10C ) 14D ) 6

下面算法的时间复杂度为(34)。 int f(unsigned int n){ if(n=0||n==1)return 1; else return n*f(n-1); }A.O(1)B.O(n)C.O(n2)D.O(n!)

有以下程序 int f(int n) { if(n==1)return 1; else return f(n-1)+1;} main() { int i,j=0; for(i=1;i<3;i++)j+=f(i); printf("%d\n",j);} 程序运行后的输出结果是A.4B.3C.2D.1

下面程序的运行结果是[]。include int f(int a[],int n){ if(n>1)return a[0]+f(a+1,n-1 下面程序的运行结果是[ ]。include <stdio.h>int f(int a[],int n){ if(n>1)return a[0]+f(a+1,n-1);elsereturn a[0];}main(){int aa[10]={12,3,4,5,6,7,8,9,10},s;s=f (aa+2,4); printf("%d\n",s); }

有以下程序:includeintf(intn)} if(n==1)return 1;else return f(n-1)+1;}main(){int 有以下程序: #include <stdio.h> intf(intn) } if(n==1) return 1; else return f(n-1)+1; } main() { int i,j=0; for(i=1; i<3; i++) j+=f(i); printf("%d\n",j); } 程序运行后的输出结果是( )。A.4B.3C.2D.1

有以下程序()。includeint f(int n){if(n==1)return 1;elsereturn f(n-1)+1;}void m 有以下程序( )。 #include<iostream.h> int f(int n) { if(n==1)return 1; else return f(n-1)+1; } void main() { int i,j=-; for(i=1;i<3;i++) j+=f(i); cout<<j<<endl; } 程序运行后输出结果是( )。A.4B.3C.2D.1

有以下程序includeint f(int n){if(n==1)return 1:else return f(n-1)+1;}void mai 有以下程序 #include<iostream.h> int f(int n) {if(n==1)return 1: else return f(n-1)+1;} void main() {int i,j=0; for(i=1;i<3;i++):j+=f(i); cout<<j;} 程序运行后的输出结果是( )。A.4B.3C.2D.1

有以下程序int f(int n){ if(n==1)return 1; else return f(n-1)+1;}main(){ int i,j=0; for(i=1;i3;i++)j+=f(i); printf("%d\n",j); }程序的运行结果是A.4 B.3C.2 D.1

有以下程序int f(int n){ if(n==1 return 1; else return f(n-1)+1;}main(){ int i,j=0; for(i=1;i3;i++) j+=f(i); printf("%d\n",j);}程序运行后的输出结果是A.4 B.3 C.2 D.1

有以下程序includeint f(int n){if(n==1 )return 1;else return f(n-1 )+ 1;}void 有以下程序#include<iostream.h>int f(int n){if(n==1 )return 1;else return f(n-1 )+ 1;}void main() {int i,j=0;for(i=1 ;i<3;i++) j+=f(i);cout<<j<<end1;}程序运行后的输出结果是( )。A.4B.3C.2D.1

有以下程序()。 include int f(int n) { if(n==1)return l; else return f(n-1)+1; 有以下程序( )。 #include<iostream.h> int f(int n) { if(n==1)return l; else return f(n-1)+1; } void main() { int i,j=-; for(i=1;i<3;i++) j+=f(i); cout<j<<endl; } 程序运行后输出结果是( )。A.4B.3C.2D.1

有以下程序 include int f(int n) {if(n==1)return1; else return f(n-1)+1} voidm 有以下程序 #include<iostream.h> int f(int n) {if(n==1)return1; else return f(n-1)+1} voidmain() {int i,j=0; for(i=l i<3;i++)=i+=f(i); cout<<j;} 程序运行后的输出结果是( )。A.4B.3C.2D.1

有以下程序#inculde stdio.hint F(int t[],int n);main(){ int a[4]=(1,2,3,4),s;s =F(a,4);printF(“%d\n”,s);}int F(int t[],int n){ iF(n0) return t[n-1]+F(t,n-1);Else return 0;}程序运行后的输出结果是A.4B.10C.14D.6

计算N!的递归算法如下,求解该算法的时间复杂度时,只考虑相乘操作,则算法的计算时间T(n)的递推关系式为(55);对应时间复杂度为(56)。int Factorial (int n){//计算n!if(n<=1)return 1;else return n * Factorial(n-1);}(62)A.T(n)=T(n-1)+1B.T(n)=T(n-1)C.T(n)=2T(n-1)+1D.T(n)=2T(n-1)-1

下列程序的输出结果为( )。 int fun(int n){ if(n==0)return 1; else return n*fun(n-1): return 0; } void main() { eout<<func(4)<<endl;}A.1B.10C.24D.11

有以下程序:includeint f(int t[],int n);main(){int a[4]={1,2,3,4},s;s=f(a,2);prin 有以下程序: #include<stdio.h> int f(int t[],int n); main() {int a[4]={1,2,3,4},s; s=f(a,2);printf("%d\n",s); } int f(int t[],int n) {if((n>0)(n<5))return t[n+1]+f(t,n-1); else return 0; } 程序运行后的输出结果是( )。A.4B.7C.10D.61

能保证对所有的参数能够结束的递归函数是A.int f(int n){if(n<1)return 1;else return n*f(n+1);}B.int f(int n){if(n>1)return 1;else return n*f(n-1);}C.int f(int n){if(abs(n)<1)return 1;else return n*f(n/2);}D.int f(int n){if(n>1)return 1;else return n*f(n*2);)

已知递归函数f(n)的功能是计算1+2+…+n,且n≥1,应采用的代码段是______。A.if n>1 then return 1 else return n+f(n-1)B.if n>1 then return 1 else return n+f(n+1)C.if n<1 then return 0 else return n+f(n-1)D.if n<1 then return 0 else return n+f(n+1)

有以下程序: #include 〈iestream〉 using namespace std; int f(int n) { if(n==1) return 1; else return f(n-1)+1; } int main() { int i,j=0; for(i=1;i3;i++) j+=f(i); coutA.4B.3C.2D.1

下面 ______ 是正确的递归函数,它保证对所有的参数能够结束。A.int f(int n){ if(n<1) return 1; else return n*f(n+1); }B.int f(int n){ if(n>1) return 1; else return n*f(n-1); }C.int f(int n){ if(abs(n)<1) return 1; else return n*f(n/2); }D.int f(int n){ if(n>1) return 1; else return n*f(n*2); }

下列函数中,哪项是正确的递归函数( )。A int Fun(int n){if(n<1) return 1;else return n*Fun(n+1);}B) int Fun(ira n){if(abs(n)<1) return 1;else return n*Fun(n/2);}C) int Fun(int n){if(n>1) return 1;else return n*Fun(n*2)1}D) int Fun(int n){if(n>1) return 1;else retun n*Fun(n-1);}A.AB.BC.CD.D

有以下程序 int f(int n) { if (n==l) return 1; else return f(n-1)+1; } main () { int i,j=0; for(i=i;i<3;i++) j+=f(i); printf {"%d\n", j ); } 程序运行后的输出结果是A.4B.3C.2D.1

有以下程序: #includestdio.h int f(int t[],int n); main( ) {int a[4]={1,2,3,4},s; s=f(a,4);printf("%d\n",s); int f(int t[],int n) {if(n0)return t[n-1]+f(t,n-1); else return 0; } 程序运行后的输出结果是( )。A.4B.10C.14D.6

有以下程序 include int f(iht n) { if(n==1) return 1; else return f(n-1)+ 有以下程序 #include<iostream.h> int f(iht n) { if(n==1) return 1; else return f(n-1)+1;} void main( ) { iht i,j=0; for(i=1;i<3;i++)j+=f(i); cout < < j;} 程序运行后的输出结果是A.4B.3C.2D.1

有以下程序 int f(int n) { if(n==1) return 1; else return f(n-1)+1; } main() { int i,j=0; for(i=1;i<5;i++) j+=f(i); printf("%d\n",j); } 程序运行后的输出结果是( )A.15B.10C.6D.3

递归函数f(n)的功能是计算1+2+…+n,且n≥1,则f(n)的代码段是(49)。A.if n>1 then return 1 else return n+f(n-1)B.if n>1 then return 1 else return n+f(n+1)C.if n>1 then return 0 else return n+f(n+1)D.if n<1 then return 0 else return n+f(n-1)

设有一个递归算法如下: int fact(int n) {  //n大于等于0               if(n=0) return 1;               else return n*fact(n-1);        }  则计算fact(n)需要调用该函数的次数为()A、 n+1B、 n-1C、 nD、 n+2

单选题有以下程序:#include int f(int t[],int n);main(){ int a[4]={1,2,3,4},s; s=f(a,4); printf(%d,s);}int f(int t[],int n){ if(n0)return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是(  )。A4B10C14D6