若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(14)算法,因为(15)。A.先递归后递推
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(14)算法,因为(15)。
A.先递归后递推
B.先递推后递归
C.递归
D.递推
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(14)算法,因为(15)。
A.先递归后递推
B.先递推后递归
C.递归
D.递推
●若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用 (26) 算法,因为 (27) 。
(26) A.先递归后递推
B.先递推后递归
C.递归
D.递推
(27) A.递推的效率比递归高
B.递归宜于问题分解
C.递归的效率比递推高
● 若一个问题既可以用迭代方式也可以用递归方式求解,则 (65) 方法具有更高的时空效率。
(65)
A. 迭代
B. 递归
C. 先递归后迭代
D. 先迭代后递归
●在下列程序中:
Program test(input,output);
var i,j:integer;
procedure calc(p1,p2:integer);
begin p2:=p2*p2 p1:=p1-p2;p2:=p2-p1;end{caic}
begin{main}i:=2;j:=3;
calc(i,j); write(j);
end{main}
当参数传递采用引用方式(Call by reference)时,所得结果j= (33) ;
当参数传递采用换名方式(Call by name)时,所得结果j= (34) ;
当参数传递采用赋值方式(Call by value)时,所得结果j= (35) ;
递归是程序设计中很重要的一种控制结构,通常实现递归时,采用的数据结构是 (36) 。
对那些既可以用递归方式,也可以用循环方式求解的问题,就执行效率而言 (37) 。
(33) ,(34) A.10
B.16
C.20
D.28
(35) A.0
B.3
C.5
D.6
(36) A.数组
B.栈
C.队列
D.循环链表
(37) A.数组
B.两者相同
C.循环优于递归
D.递归优于循环
8行上布放棋子。在每一行中有8个可选择位置,但在任一时刻,棋盘的合法布局都必须满足3个限制条件,即任何两个棋子不得放在棋盘上的同一行、或者同一列、或者同一斜线上。试编写一个递归算法,求解并输出此问题的所有合法布局。(提示:用回溯法。在第n行第j列安放一个棋子时,需要记录在行方向、列方向、正斜线方向、反斜线方向的安放状态,若当前布局合法,可向下一行递归求解,否则可移走这个棋子,恢复安放该棋子前的状态,试探本行的第j+1列)
一个递归的定义可以用递归的过程求解,通常递归的执行过程是(54)的。
A.高效
B.低效
C.高质量
D.低质量
斐波那契(Fibonacci)数列可以递归地定义为:
用递归算法求解F(5)时需要执行(63)次“+”运算,该方法采用的算法策略是(64)。
A.5
B.6
C.7
D.8
关于概率算法,下述说法中错误的是(15)。
A.数值概率算法所求得的往往是近似解,且精度随着计算时间的增长而不断提高,常用于数值计算
B.舍伍德算法能求得问题的一个解,但未必正确,正确的概率随着计算时间的增加而提高,通常用于求问题的精确解
C.若能用拉斯维加斯算法求得一个解,那么它一定正确,其找到解的概率也随着计算时间的增加而提高
D.蒙特卡罗算法的缺点就是无法有效地判断所求解的正确性
● 斐波那契(Fibonacci)数列可以递归地定义为:
?
用递归算法求解F(5)时需要执行 (63) 次“+”运算,该方法采用的算法策略是 (64) 。
(63)
A. 5
B. 6
C. 7
D. 8
(64)
A. 动态规划
B. 分治
C. 回溯
D. 分支限界