第三章判断选择

第三章 -作业1-栈
判断
1,栈先进后出
2,若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j−i−1。 (2分)
不知道不确定
选择
1,给定一个堆栈的入栈序列为{ 1, 2, ~~~, n },出栈序列为{ p​1​​, p​2​​, ~~~, p​n​​ }。如果p​2​​=n,则存在多少种不同的出栈序列?(2分)
1
2
n−1
n
选C,
2,从栈顶指针为ST的链栈中删除一个结点且用X保存被删结点的值,则执行: (2分)
X= ST->data; ST = ST->next;

6,若元素a、b、c、d、e、f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能得到的出栈序列是? (2分)
b c a e f d
c b d a e f
d c e b f a
a f e d c b
D标记号顺序
11,将5个字母ooops按此顺序入栈,则有多少种不同的出栈顺序可以仍然得到ooops? (2分)
5种,把o都标上序号,千万考虑全面

线性表、堆栈、队列的主要区别是什么?(1分)
堆栈和队列都是插入、删除受到约束的线性表
只能在堆栈的栈顶,队列的头部,所以受到约束

第三章 作业4-循环队列及线性结构综合
判断
1,所谓“循环队列”是指用单向循环链表或者循环数组表示的队列
错,将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。
存储在其中的队列称为循环队列。
这种循环队列可以以单链表的方式来在实际编程应用中来实现。
因此,循环e队列是一个抽象的数据结构,
而单向循环链表或循环数组是具体的实现方式,不是数据结构本身。
3,在顺序存储结构上都需要考虑 溢出 情况,链式存储结构不用考虑

单选题
1,若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少? (2分)
2和0
为什么不是二和六呢,因为大小为六,实际上存储空间也就是0-5,类似数组
2,大小为m的数组,能容纳的元素的个数时m个
3,如果循环队列用大小为m的数组表示,队头位置为front、队列元素个数为size,那么队尾元素位置rear为: (2分)
front+size
front+size-1
(front+size)%m
D,(front+size-1)%m
选D,因为队列类似于数组,是从0开始的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值