2、设n是描述问题规模的非负整数,下面程序片段的时间复杂度是 x=2; while(x<n/2) x=2*x;A.O(log2n)B.O(n)C.O(nlog2n)D.O(n^2)

2、设n是描述问题规模的非负整数,下面程序片段的时间复杂度是 x=2; while(x<n/2) x=2*x;

A.O(log2n)

B.O(n)

C.O(nlog2n)

D.O(n^2)


参考答案和解析
A

相关考题:

下面是一段Pascal程序: for h:=1 tO n-1 dO begin x:=A[h+1]; k:=h; while (k>=1) and (A[k]>x) do begin A[k+1):=A[k]; k:=k-1 end; A[k+1]:=x end; 假设在程序开始执行时,数组A[1..n)是一组随机整数。下列答案中,哪一个最好的描述了最差情况下的程序执行时间(运行时间阶数)?( )A.0(nlog2n)B.O(n)C.0(log2n)D.O(n2)

设R、N分别表示实数、整数和自然数集,下面定义函数f1、f2、f3:f1:R→R,f(x)=2xf2:N→N×N,f(n)=f 设R、N分别表示实数、整数和自然数集,下面定义函数f1、f2、f3: f1:R→R,f(x)=2x f2:N→N×N,f(n)=<n,n+1> f3:N→N,f(x)=x mod 3,x除以3的余数 则下面说法正确的是( )。A.f1和f2是单射但不是满射函数B.f1和f3都是满射函数C.f2是双射函数D.以上说法全都是错误的

下面这个程序段的时间复杂度是( )。 for (i=1; i<n; i++) { y=y+3; for (j=0;j<=(2*n);j++) x++; }A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)

下面是一段Pascal程序: for h:=1 to n-1 do begin x:=A[h+1]; k:=h; while(k>=1)and(A[k]>x)do begin A[k+1]:=A[k]; k:=k-1 end; A[k+1]:=x end; 假设在程序开始执行时,数组A[1…n)是一组随机整数。下列答案中,最好地描述了最差情况下的程序执行时间(运行时间阶数)的是A.O(n log2n)B.O(n)C.O(log2n)D.O(n2)

设R,N分别表示实数、整数和自然数集,下面定义函数f1,f2,f3: fl:R→R,f(x)=2x f2:N→N×N,f(n)=<n,n+1> f3:N→N,f(x)=x mod 3,x除以3的余数 则下面说法正确的是A.n和f2是单射但不是满射函数B.f1和f3都是满射函数C.f2是双射函数D.以上说法全都是错误的

下面程序的运行结果是【17】。#define N 10#define s(x)x*x#define f(x)(x*x)main(){ int i1,i2;i1=1000/s(N); i2=1000/f(N);printf("%d %d\n",i1,i2);}

阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn。希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。如下程序均能求得“背包问题”的一组解,其中程序1是“背包问题”的递归解法,而程序2是“背包问题”的非递归解法。【程序1】include<stdio.h>define N 7define S 15int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s, int n){if(s==0) return 1;if(s<0 || (s>0 n<1))return 0;if((1)){/*考虑物品n被选择的情况*/printf("%4d",w[n]);return 1;}return (2);/*考虑不选择物品n的情况*/}main(){if(knap(S,N))printf("OK!\n");else printf("N0!\n");}【程序2】include<stdio.h>define N 7define S 15typedef struct{int s;int n;int job;}KNAPTP;int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s, int n);main(){if(knap(S,N)) printf("0K!\n");else printf("N0!\n");}int knap(int s, int n){KNAPTP stack[100],x;int top, k, rep;x.s=s;x.n=n;x.job=0;top=1; stack[top]=x;k=0;while( (3) ){x=stack[top];rep=1;while(!k rep){if(x.s==0) k=1;/*已求得一组解*/else if(x.s<0 || x.n<=0) rep=0;else{x.s=(4);x.job=1;(5)=x;}}/*while*/if(!k){rep=1;while(top>=1 rep){x=stack[top--];if(x.job==1){x.s +=w[x.n+1];x.job=2;stack[++top]=x;(6);}/*if*/}/*while*/}/*if*//*while*/if(k){&nbs

若x是int型变量,且有下面的程序片段: for(x=3;x<6;x++)printf(x%2)?("* *%d"):(”# #%d\n”),x); 上面程序片段的输出结果是 ( )A.* * 3 # # 4 * * 5B.# # 3 * * 4 # # 5C.# # 3 * * 4 # # 5D.* * 3 # # 4 * * 5

下面程序的执行结果是【】。include void main(){int n=0,x=0;do{n++;if(n%3==2do{n++;if(n%3==2n%5==3n%7==2)x=1;}while(x!=1);cout<<"n=" <<n<<end1;}

设n为正整数。则下面程序段的时间复杂度为()。 i=1;k=0; while(i A.O(1)B.O(nC.O(nlogn)D.O(n2)

等式[x]补+[Y]补=[x+Y]补在满足条件(92)时成立,其中X、Y是用n个二进制位表示的带符号纯整数。A.-2n≤(X+Y)≤2n-1B.-2n-1≤(X+Y)<2n-1C.-2n-1-1≤(X+Y)≤2n-1D.-2n-1≤(X+Y)<2n

用n个二进制位表示带符号纯整数时,已知[X]补、[Y]补,则当 (1) 时,等式[X]补+[X]补=[X+Y]补成立。A.-2n≤(X+Y)≤2n-1B.-2n-1≤(X+Y)<2n-1C.-2n-1-1≤(X+Y)≤2n-1D.-2n-1≤(X+Y)<2n

下面的程序 main( ) { int x=3; do{printf("%d\n",x-=2);} while(!(- -x)); }A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环

下面程序的运行结果是_____和_____。 include define N 10 define s(x) x * x define 下面程序的运行结果是_____和_____。include<iostream.h>define N 10define s(x) x * xdefine f(x) (x * x)void main( ){ int i1,i2;i1=1000/s(N) ;i2=1000/f(N) ;cout < < i1 < < " " < < i2;}

设总体X~N(2,42),(x1,x2,…,Xn)是来自X的简单随机样本,则下面结果正确的是( )。A.B.C.D.

正态分布计算所依据的重要性质为( )。A.设X~N(μ,σ2),则u=(X-μ)/σ~N(0,1)B.设X~N(μ,σ2),则对任意实数a、b有P(X<b)=Ф[(b-μ)/σ)C.设X~N(μ,σ2),则对任意实数a、b有P(X>a)=1-Ф[(a-μ)/σ]D.设X~N(μ,σ2),则对任意实数a、b有P(a<X<b)=Ф[(b-μ)/σ)-Ф[(a-μ)/σ]E.设X~μ(μ1,,Y~N(μ2,,则X+Y~N(μ1+μ2,(σ1+σ2) 2)

设随机变量X~N(0,σ2),则对于任何实数λ,都有:A. P(X≤λ)=P(X≥λ) B.P(X≥λ)=P(X≤-λ)C.X-λ~N(λ,σ2-λ2)D.λX~N(0,λσ2)

设随机变量X?N(0,σ2),则对于任何实数λ都有: (A) P(X≤λ)=P(X≥λ)(B)P(X≥λ)= P(X≤-λ)(C) X-λ~N(λ,σ2-λ2)(D)λX~N(0,λσ2)

正态分布计算所依据的重要性质为( )。A.设X~N(μ,σ2),则μ= (X-μ)/σ~N(0, 1)B.设X~N(μ,σ2),则对任意实数a、b有P(XC.设X~N(μ,σ2),则对任意实数a、b有P(X>a) =1-Φ[(a-μ)/σ]D.设X~N(μ,σ2),则对任意实数a、b有P(a

设集合M=(x||x|<2},N=(x||x-1|>2},则集合M∩N=()A.{x|x<-2或x>3}B.{x|-2C.{x|-2D.{x|x<-2或x>2}

设集合P={x|-1≤x≤3},N={x|2≤x≤4),则P∪N是( )A.{x|2≤x≤3}B.{x|2C.{x|-1D.{x|-1≤x≤4}

给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x,先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=1;high=n;while(high>low)if A[low]+A[high]=x return true;else if A[low]+A[high]>x low++;else high--;return false;则过程P的时间复杂度为( ),整个算法的时间复杂度为(请作答此空)。A.O(n)B.O(nlgn)C.O(n2)D.O(n2lgn)

设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。x=2;while(xA.O(log2n)B.O(n)C.O(nlog2n)D.O(n^2)

设无符号二进制整数X有n位,各位上的数字均为“1”,则X=()。A、2n-1-1B、2n-1C、2n

设X,Y是相互独立的随机变量,X~N(2,σ2),Y~N(-3,σ2),且P{|2X+Y-1|≤8.7654}=0.95,则σ=()。

单选题设无符号二进制整数X有n位,各位上的数字均为“1”,则X=()。A2n-1-1B2n-1C2n

单选题设语句x++的时间是单位时间,则以下语句的时间复杂度为()。 for(i=1;i=n;i++) for(j=i;j=n;j++) x++;AO(1)BO(2n2)CO(n)DO(3n3)

单选题n+1位定点整数的补码表示范围是()。A-2n≤x≤2nB-2nC-2n≤x2nD-2n