初赛试题总结

1》

斐波那契数列的定义如下:F1=1,F2=1,Fn=Fn–1+Fn–2(n≥3)。如果用下面的 函数计算斐波那契数列的第 n 项,则其时间复杂度为(D)。
int F(int n)
{
if(n<=2)
return 1;
else
return F(n-1)+F(n-2);
}
A.O(1) B.O(n) C.O(n2) D.O(Fn)

解:根据返回值相加得F(N)可知运行了F(N)次。


2》

1948年,(D)将热力学中的熵引入信息通信领域,标志着信息论研究的开端。
A.冯·诺伊曼(John von Neumann)
B.图灵(Alan Turing)
C.欧拉(Leonhard Euler)
D.克劳德·香农(Claude Shannon)


3》

二叉查找树具有如下性质:每个节点的值都大于其左子树上所有节点的值、小 于其右子树上所有节点的值。那么,二叉查找树的(B)是一个有序序列。
A.先序遍历 B.中序遍历 C.后序遍历 D.宽度优先遍历

解:中序遍历的顺序是:左根右,直接列举一个只有一个根的二叉树。


4》

现有一只青蛙,初始时在 n 号荷叶上。当它某一时刻在 k 号荷叶上时,下一时刻将等概率地随机跳到 1,2,…,k 号荷叶之一上,直至跳到 1 号荷叶为止。当 n=2 时,平均一共跳 2 次,当 n=3 时,平均一共跳 2.5 次。则当 n=5 时,平均一共跳___次。

分析:
n = 2 下一步无非跳到1或跳到2再跳到1
f(2) = [ 1 + ( 1 + f(2) ) ] / 2
解得 f(2) = 2
n = 3
f(3) = [ 1 + ( 1 + f(2) ) + ( 1 + f(3) ) ] / 3
……
故 : f(5) = [ 1 + …… ( 1 + f(5) ) ] / 5
f(5) = 37 / 12

5》

同时查找2n个数中的最大值和最小值,最少比较次数为_ _ _ _

最少的情况:
前两个数比较,一个最大值,一个最小值,刚好比出来
接下来的2*(n-1)个数,两两相比,比出来较大的与最大值比较,最小的同理
每两个数共比3次,故2*(n-1)个数比了3*(n-1)次
加上1就为 <3*n - 2>次

posted @ 2017-09-24 16:12  WenOI  阅读(330)  评论(0编辑  收藏  举报
水波背景