int p1( int n)
{
t = 1;
while( t <= n)
t *= 2;
return t;
}
举一反三
- #include <;stdio.h>;int main( ){ int i,t; t=1; i=2; while(i<;=5) { t=t*i; i=i+1; } printf("%d\n",t); return 0;} 程序的运行结果是: 。
- 下列程序段 A 与 B 功能等价,请填写程序段 B 中相应语句。 程序段A: int f( int n ) { if(n<=1) return n; else return f(n-1)+f(n-2); } 程序B: int f( int n )______; t0=0; t1=1; t=n; while ( n>1 ) { t = t0+t1 ; t0 = t1; t1 = t; n - -; } return t ; }
- 以下程序的运行结果为( )。#include <;stdio.h>;int main( ){int i,t;t=1;i=2;while(i<;=5){t=t*i;i=i+1;}printf("%d\n",t);return 0;}
- 设问题规模为N时,某递归算法的时间复杂度记为T(N),已知T(1)=1,T(N)=2T(N/2)+N/2,用O表示的时间复杂度为______ 。
- T(n)表示当输入规模为n时的算法效率,求T(n)=T(n-1)+1,T(1)=1的时间复杂度
内容
- 0
查看本试题中关于回文判断的算法题目,分析算法的时间复杂性,如下描述中正确的是哪个? A: 该算法时间复杂性的递归定义为: T(n)=T(n-1)+1,if n>1;T(n)=O(1),if n≤1。T(n)=O(n), T(n)=Ω(1) B: 该算法时间复杂性的递归定义为: T(n)=T(n-1)+1,ifn>1;T(n)=O(1),if n≤1。T(n)=O(n), T(n)=Ω(n) C: 该算法时间复杂性的递归定义为: T(n)=T(n-2)+1,if n>1;T(n)=O(1), if n≤1。T(n)=O(n), T(n)=Ω(1) D: 该算法时间复杂性的递归定义为: T(n)=T(n-2)+1,if n>1;T(n)=O(1), if n≤1。T(n)=O(n), T(n)=Ω(n)
- 1
T(n)表示当输入规模为n时的算法效率,分治算法的一般模式是( )。 A: T(n)=T(n–1)+1,T(1)=1 B: T(n)=2n2 C: T(n/2)+n,T(1)=1 D: T(n)=3nlog2n
- 2
T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是( ) A: T(n)= T(n-1)+1,T(1)=1 B: T(n)= 2n2 C: T(n)= T(n/2)+1,T(1)=1 D: T(n)= 3nlog2n
- 3
T(n) 表示输入规模为n时的算法效率,以下算法效率最优的是: A: T(n) = T(n-1) + 1, T(1) = 1 B: T(n) = 2[img=18x22]1803976f1c221c8.png[/img] C: T(n) = T(n/2) + 1,T(1) = 1 D: T(n) = 3[img=18x22]1803976f254e6d7.png[/img]logn
- 4
#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 (n>0) return t[n-1]+f(t,n-1); else return 0;} 程序运行后的输出结果是