01.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。
A.栈 B.队列 C.树 D.图
答案:B.队列解析:由于打印数据是按照顺序输出的,因此适合使用队列这种先进先出的数据结构来实现打印数据缓冲区。主机将要输出的数据依次入队,而打印机则从队列中依次出队数据进行打印,保证了数据的顺序性。因此,打印数据缓冲区的逻辑结构应该是队列。
02.设栈S和队列Q的初始状态均为空,元素a, b,c, d,e,f , g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b, d, c, f , e, a,g,则栈S的容量至少是()。A. 1 B. 2 C. 3 D.4
答案:C. 3解析:栈S和队列Q的操作顺序如下:
a进栈S:S={a}
b进栈S:S={a, b}
c进栈S:S={a, b, c}
d进栈S:S={a, b, c, d}
e进栈S:S={a, b, c, d, e}
f进栈S:S={a, b, c, d, e, f}
g进栈S:S={a, b, c, d, e, f, g}
按照给定的元素出队顺序,队列Q的元素顺序应该是:b, d, c, f, e, a, g
所以,栈S的容量至少为3。
2009年408真题解析-数据结构篇(未完)
Protinx2024-12-24 12:08
相关推荐
Yhame.15 分钟前
【使用层次序列构建二叉树(数据结构C)】丰锋ff30 分钟前
考研英一学习笔记雾月5539 分钟前
LeetCode 1292 元素和小于等于阈值的正方形的最大边长Pasregret1 小时前
访问者模式:分离数据结构与操作的设计模式OpenC++1 小时前
【C++QT】Buttons 按钮控件详解阿让啊2 小时前
C语言中操作字节的某一位灏瀚星空2 小时前
用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践草莓啵啵~3 小时前
搜索二叉树-key的搜索模型孞㐑¥3 小时前
C++11介绍剁椒排骨3 小时前
win11什么都不动之后一段时间黑屏桌面无法显示,但鼠标仍可移动,得要熄屏之后才能进入的四种解决方法