更多"设求解某问题的递归算法如下: F(int n) if n=1 "的相关试题:
[单项选择]设有一个递归算法如下:
int fact(int n)
if(n<=0)return 1;
else return n*fact(n-1);
下面正确的叙述是()。
A. 计算fact(n)需要执行n次函数调用
B. 计算fact(n)需要执行n+1次函数调用
C. 计算fact(n)需要执行n+2次函数调用
D. 计算fact(n)需要执行n-1次函数调用
[单项选择]
计算N!的递归算法如下,求解该算法的时间复杂度时,只考虑相乘操作,则算法的计算时间T(n)的递推关系式为 (55) ;对应时间复杂度为 (56) 。
int Factorial (int n)
{//计算n!
if(n<=1)return 1;
else return n * Factorial(n-1);
}
(55)处填()。
A. T(=T(n-1)+1
B. T(=T(n-1)
C. T(=2T(n-1)+1
D. T(=2T(n-1)-1
[单项选择]将一个递归算法改为对应的非递归算法时,通常需要使用 (44) 。
A. 优先队列
B. 队列
C. 循环队列
D. 栈
[单项选择]将一个递归算法改为对应的非递归算法时,通常需要使用______。
A. 栈
B. 队列
C. 循环队列
D. 优先队列
[简答题]下面是快速排序的递归算法。试在算法后的空白中填上正确的内容,将该算法补充完整使其完成预定功能。#define M 500typedef struct{int key;char info;}NODENODE r[M];quiksort(NODE r[],int low,int hig) { int i, j; NODE x; if(low>=hig) return; i=low; j=hig;x=r[i]; do { while((r[j].key>=x.key)&&(j>i)) (1) ; if(ii)) (2) ; if(i (3) ; }(1)_____________(2)_____________(3)_____________
[单项选择]在计算机内实现递归算法时所需的辅助数据结构是 ( )
A. 栈
B. 队列
C. 树
D. 图
[单项选择]
用递归算法求解F(5)时需要执行 (63) 次“+”运算,该方法采用的算法策略是 (64) 。
(63)处填()。
A. 5
B. 6
C. 7
D. 8
[单项选择]用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为()。
A. n
B. [n/2]
C. [log2n]
D. [log2(n+1)]
[单项选择]实现任意二叉树的后序遍历的非递归算法用栈结构,最佳方案是二叉树采用()存储结构。
A. 二叉链表
B. 顺序存储结构
C. 三又链表
D. 广义表存储结构
[简答题]【说明】
函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。
【函数】
void QuickSort( int A[ ],int s,int t)
int i=s,j=t+1,temp;
int x=A[s];
do
do i ++ ;while (1) ;
do j -- ;while(A[j]>x);
if(i<j)temp=A[i]; (2) ; (3) ;
while(i<j);
A[a] =A[j];A[j] =x;
if(s<i-1) (4) ;
if(j+1<t) (5) ;
[单项选择]
递归算法的执行过程一般来说可先后分成 (57) 和 (58) 两个阶段。
(58)处填()。
A. 回溯
B. 回归
C. 返回
D. 合成
[单项选择]
递归算法的执行过程一般来说可先后分成 (57) 和 (58) 两个阶段。
(57)处填()。
A. 试探
B. 递推
C. 枚举
D. 分析
[填空题]有如下递归函数:
int Fun(int n){
if(n<=1) return 1;
______
}
请补充完整,使得函数Fun能够正确计算形参n的阶乘。
[填空题]已知递归函数f的定义如下:
int f(int n)
{
if(n<=1)return 1; //递归结束情况
else return n*f(n-2);//递归)
则函数调用语句f(5)的返回值是______。
[填空题]已知递归函数f的定义如下:
int f(int n){
if(n<= 1)return 1;//递归结束情况f5=5*f3=5*3*f1
else return n*f(n-2); //递归
}
则函数调用语句f(5)的返回值是______。
[单项选择]已知递归函数fun的定义如下:
int fun(int n)
if(n<=1)return1;//递归结束情况
else return n*fun(n-2);//递归
则函数调用语句fun(5)的返回值是( )。
A. 5
B. 12
C. 15
D. 30