题11

题目

Q:下列说法中, 正确的是 ( ).
A. 消除递归不一定需要使用栈
B. 对同一输入序列进行两组不同的合法入栈和出栈组合操作, 所得的输出序列也一定相同
C. 通常使用队列来处理函数或过程调用
D. 队列和栈都是运算受限的线性表, 只允许在表的两端进行运算

分析

A:使用栈可以模拟递归的过程, 以此来消除递归, 但对于单向递归和尾递归而言, 可以用迭代的方式来消除递归, 正确。
不同的进栈和出栈组合操作,会产生许多不同的输出序列, 错误。
通常使用栈来处理函数或过程调用, 错误。
队列和栈都是操作受限的线性表,但只有队列允许在表的两端进行运算, 而栈只允许在栈顶方向进行操作, D 错误。

A