可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,(请作答此空);对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,()。这两种情况都表明所检查的算术表达式括号不匹配。
A. 栈为空却要进行出栈操作
B. 栈已满却要进行入栈操作
C. 表达式处理已结束,栈中仍留有字符“(”
D. 表达式处理已结束,栈中仍留有字符“)”
查看答案
快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了(请作答此空)算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为()
A. 分治
B. 动态规划
C. 贪心
D. 回溯
对于一个相始为空的栈,其入栈序列为 1、2、3、、n (n>3) ,若出栈序列的第一个元素是 1,则出栈序列的第 n 个元素(38)
A. 可能是 2 ~ n 中的任何一个
B. 一定是 2
C. 一定是 n-l
D. 一定是 n
字符串“computer”中长度为3的子串有 () 个。
A. 4
B. 5
C. 6
D. 7
有关哈夫曼编码方法,以下说法正确的是 () 。
A. 哈夫曼编码是一种用于校验的编码方法
B. 编码过程中需要根据符号出现的概率来进行编码
C. 编码过程中需要建立"词典"
D. 哈夫曼编码方法不能用于静态图像压缩