811 第三章 堆栈和队列考点

  1. 用单链表表示的链式队列的队头和队尾分别在链表的( )位置
    A.链头和链尾
    B.链尾和链头
    C.链头和链中
    D.链尾和链中

  2. 堆栈和队列的主要区别是( )
    A.限定元素插入和删除的位置不同
    B.逻辑结构不同
    C.存储结构不同
    D.名字不同

  3. 栈和队列的共同点是( )
    A.都是先进先出
    B.都是线性结构
    C.具有相同存储结构
    D.没有共同点

    栈和队列具有相同的逻辑结构,都可以用顺序存储或链表存储,都是一种受限的线性表。

  4. 一个递归算法必须包括( )
    A.递归部分
    B.终止条件和递归部分
    C.迭代部分
    D.终止条件和迭代部分

  5. 递归过程或函数调用时,处理参数及返回地址,要用一种称为___的数据结构。
    A.队列
    B.数组
    C.线性表
    D.堆栈

  6. 最多可存储n个数据元素的循环队列,front为队头标识,rear为队尾标识,则队满的条件是()
    A. (rear+1)%n== front
    B.(front+1)%n==rear
    C. (rear+1)%(n+1)==front
    D. (front+1)%(n+1)==rear

  7. 设数组data[20]作为循坏队列SQ的存储空间, front指向队头,则data[front+1]为队头元素。×

    循环队列的队头元素不会发生改变。

  8. 设数组data[100]作为循环队列sQ的存储空间,front为队头标识,rear为队尾标识,当front== 80,rear==15时,以下说法正确的是__。
    A.队列元素个数为34
    B. data数组中下标从16到79的位置都为空闲位置
    C. data数组中下标从16到80的位置都为空闲位置
    D.队列元素个数为36

    解析:
    空闲位置不包括front。

  9. a^2的后缀表达式是aa*。X a2^

  10. 两个堆栈 S1、S2,实现队列的入队、出队、判断队空的操作。
    创建两个栈,s1 和 s2,s1 负责入栈,s2 负责出栈;
    队列入队:入队时,直接将元素入 s1 栈即可。
    队列出队:出队时需要 s2 出栈,因此要判定 s2 是否为空;若 s2 为空,则将 s1中元素一一出栈进入 s2 栈中,此时 s2 已不为空;那么队列出队只需将 s2 出栈即可。 当然,如果 s1 和 s2 均为空,则出队失败。
    判断队空:判断 s1 栈是否为空。

  11. 为什么队列的顺序表示会出现“假溢出”现象,通常如何解决这一问题。

    在顺序队列中,由于频繁的入队和出队操作造成队列有剩余空间却无法完成入队的现象,即为“假溢出”现象。
    解决方法:可采用循环队列来解决,通过求余运算将队列从逻辑上构成一个环状结构。

  12. 说明有几种度量程序执行时间的方法,并说明优缺点。
    事后计算。
    事前分析估算。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值