h(n)≥h*(n)
h(n)≤h*(n)
h(n)≥g*(n)
h(n)≤g*(n)
第1题:
A对于任何的数据量,A算法的时间开销都比B算法小
B随着问题规模n的增大,A算法比B算法有效
C随着问题规模n的增大,B算法比A算法有效
D对于任何数据量,B算法的时间开销都比A算法小
第2题:
设求解某问题的递归算法如下: F(int n){ if n==1{ Move(1); } else{ F(n-1); Move(n); F(n-1); } } 求解该算法的计算时间时,仅考虑算法Move所进行的计算为主要计算,且Move为常数级算法,设算法Move的计算时间为k,当n=5时,算法F的计算时间为(42)。
A.7k
B.15k
C.31k
D.63k
第3题:
A、O(logn)
B、O(n)
C、O(nlogn)
D、O(n^2)
第4题:
● 设某算法的计算时间表示为递推关系式T(n)= T(n-1) + n (n>0) 及T(0)=1,则该算法的时间复杂度为 (65) 。
第5题:
在CSMA中,决定退让时间的算法如下
(1)如果信道空闲,则以P的概率发送,而以1-P的概率延迟一个时间单位to
(2)如果信道忙,则继续监听直至信道空闲并重复步骤(1)。
(3)如果发送延迟了一个时间单位t,则重复步骤(1)。
上述算法为(7)。在该算法中重要的是如何选择概率P的值,P的取值首先考虑的是(8),如果(9),表明有多个站在同时试图发送,则冲突不可避免要发生。最坏的情况是冲突不断增大,吞吐率会(10)。
A.1-坚持型算法
B.P-坚持型算法
C.非坚持型算法
D.二进制指数后退算法
第6题:
设求解某问题的递归算法如下:
求解该算法的计算时间时,仅考虑算法Move所做的计算为主要计算,且Move为常数级算法,并设算法Move的计算时间为k,当n=5时,算法F的计算时间为(62)。
A.7k
B.15k
C.31k
D.63k
第7题:
算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。 while i<n do { for j←1 to n do s←s+a[i,j] i←i*2; 则该算法的时间复杂度为 ( )
A.O(2n)
B.O(n+log2n)
C.O(nlog2n)
D.O(n2)
第8题:
此题为判断题(对,错)。
第9题:
设有一个递归算法如下int fact(intn){//n 大于等于0 if(n<=0)return 1; else return n* fact(n--); }则计算fact(n)需要调用该函数的次数为(30)次。
A.n
B.n+1
C.n+2
D.n-1
第10题:
计算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)+1
B.T(n)=T(n-1)
C.T(n)=2T(n-1)+1
D.T(n)=2T(n-1)-1