若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()。A.栈B.线性表C.队列D.二叉排序树
若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()。
A.栈
B.线性表
C.队列
D.二叉排序树
B.线性表
C.队列
D.二叉排序树
参考解析
解析:栈(stack)又称为堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算,这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素称作出栈或退栈,它是把栈顶元素删除,使其相邻的元素成为新的栈顶元素。
相关考题:
可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))d”,由于(),因此可判断出该表达式中的括号不匹配。 A、需要进行出栈操作但栈已空B、需要进行入栈操作但栈已满C、表达式处理已结束,但栈中仍留有字符“(”D、表达式处理已结束,但栈中仍留有字符“)”
以下关于运算符的说法,错误的是:( ) A、表达式中的乘号*不能省略,但可以用符号·代替B、通常不允许两个运算符相连,两个运算符应当用括号隔开C、括号可以改变运算符的运算顺序D、在表达式中只能用圆括号,不能使用方括号。
可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。在检查表达式“a*(b+c))-d”时,由于( ),因此可判断出该表达式中的括号不匹配。A.需要进行出栈操作但栈已空B.需要进行入栈操作但栈已满C.表达式处理已结束,但栈中仍留有字符“(”D.表达式处理已结束,但栈中仍留有字符")”
可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空, 然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))d”,由于( ),因此可判断出该表达式中的括号不匹配。A. 需要进行出栈操作但栈已空 B. 需要进行入栈操作但栈已满 C. 表达式处理已结束,但栈中仍留有字符“(” D. 表达式处理已结束,但栈中仍留有字符“)”
单选题若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是()。A栈B线性表C队列D二叉排序树