采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是()。
A:递归次数与初始数据的排列次序无关 B:每次划分后,先处理较长的分区可以减少递归次数 C:每次划分后,先处理较短的分区可以减少递归次数 D:递归次数与每次划分后得到的分区处理顺序无关
当程序中存在()时,程序运行容易陷于死循环。C语言规定,函数定义及函数调用应该遵循的原则是()。求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是()。
求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是()
A:递归程序经编译后形成较长目标代码,所以需要较多的运行时间 B:递归程序执行时多次复制同一段目标代码占用了较多的时间 C:递归程序执行时一系列的函数调用及返回占用了较多的时间 D:递归程序执行过程中重复存取相同的数据占用了较多的时间
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法,因为()。
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法。
A:先递归后递推 B:先递推后递归 C:递归 D:递推
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法,因为()。
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法。
A:先递归后递推 B:先递推后递归 C:递归 D:递推
将一个递归算法改为对应的非递归算法时,通常需要使用()。
A:优先队列 B:队列 C:循环队列 D:栈
一般情况下,将递归程序转化成为非递归程序应该设置 (1) ,但是消除 (2) 时不需要使用。
2()
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;endcaic
beginmaini:=2;j:=3;
calc(i,j);write(j);
endmain
当参数传递采用引用方式(Call by reference)时,所得结果j= (33) ;
当参数传递采用换名方式(Call by name)时,所得结果j= (34) ;
当参数传递采用赋值方式(Call by value)时,所得结果j= (35) ;
递归是程序设计中很重要的一种控制结构,通常实现递归时,采用的数据结构是 (36) 。
对那些既可以用递归方式,也可以用循环方式求解的问题,就执行效率而言 (37) 。
(37)处填()。
A:数组 B:两者相同 C:循环优于递归 D:递归优于循环
递归算法一般需要利用______实现。
A:队列 B:循环链表 C:栈 D:双向链表
递归算法一般需要利用______实现。
A:队列 B:循环链表 C:栈 D:双向链表