问题 单项选择题

栈结构不适用于下列( )应用。

A.表达式求值

B.递归过程实现

C.二叉树对程序周游算法的实现

D.树的层次次序周游算法的实现

答案

参考答案:D

解析: 栈是一种特殊的线性表,限定仅在表的一端进行插入和删除运算的线性表,这一端称为栈顶(top),另一端则称为栈底(bottom)。表中无元素时称为空栈,最后进入栈顶的数据元素称为栈顶元素,新元素进栈要置于栈顶之上,删除或退栈必须先对栈顶进行。因此栈就形成了“后进先出”(LIFO)的操作原则。
栈是使用最广泛的数据结构之一,表达式求值、递归过程实现都是栈应用的典型例子,二叉树周游具有后进先出的特性,即最先进入的左子树的周游最后完成,最后进入的左子树的周游最先完成,与栈的后进先出特性相符合。快速排序是在待排序序列中任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一个部分,关键码值比它大的在另在一个部分,再分别对两个部分实施上述过程,一直重复到排序完成, 因此快速排序也是一个递归的过程,可以用递归调用的算法来实现,属于栈的应用之一。但栈不适于在树的层次次序周游算法中应用。

单项选择题
单项选择题