波波的数据结构-递归
作者:互联网
系列文章目录
波波的数据结构属实上的快,这里将会写些pta的解析,算是复习 预习,帮助我与大家期末不挂科
文章目录
递归
一、选择题
2-1
下列关于栈的叙述中,错误的是:(C)
- 采用非递归方式重写递归程序时必须使用栈
- 函数调用时,系统要用栈保存必要的信息 只要确定了入栈次序,
- 即可确定出栈次序
- 栈是一种受限的线性表,允许在其两端进行操作
A.仅 1
B.仅 1、2、3
C.仅 1、3、4
D.仅 2、3、4
解析:1.可以用循环的方式来写递归程序,3.入栈后可以立即出栈,也可以再入栈几个元素后出栈,4.栈只允许一端进出
2-2
对于以下递归函数f,调用f(4),其返回值为(A)
int f(int n)
{ if (n) return f(n - 1) + n;
else return n;
}
A.10
B.4
C.0
D.以上均不是
解析:4+3+2+1+0=10
2-3
在C语言中,下列错误的说法是(C)
A.函数可以递归调用
B.不允许在函数定义中再定义函数
C.递归程序不可能用非递归算法实现
D.对于continue语句,可以通过改变程序的结构而不使用它
2-4
一个递归算法必须包括( B)。
A.递归部分
B.终止条件和递归部分
C.迭代部分
D.终止条件和迭代部分
2-5
栈可用于( D)。
A.递归调用
B.子程序调用
C.表达式求值
D.A、B、C
2-6
C语言规定,程序中各函数之间__A__。
A.既允许直接递归调用也允许间接递归调用
B.不允许直接递归调用也不允许间接递归调用
C.允许直接递归调用不允许间接递归调用
D.不允许直接递归调用允许间接递归调用
2-7
以下递归方法的时间复杂度是( A)。
T(n)=1
T(n)=4T(n/2)+n^2
解析:
2-8
递归过程或函数调用时,处理参数及返回地址,要用一种称为(C )的数据结构。
A.队列
B.多维数组
C.栈
D.线性表
2-9
执行完下列语句段后,i值为:(B )
int f(int x){
return ((x>0) ? x* f(x-1):2);
}
int i;
i = f(f(1));
A.2
B.4
C.8
D.无限递归
解析:f(1)=2 ,f(f(1))=f(2)=4
标签:调用,解析,波波,递归,int,return,允许,数据结构 来源: https://blog.csdn.net/weixin_45458350/article/details/111414790