Skip to content

2009年 408 数据结构 第 1 题

数据结构2009年选择题2分

题目

为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。

错因

A

"缓冲区"字面上像"缓存、暂存",让人联想到"堆叠",于是选了栈。但没有考虑主机与打印机之间的操作顺序——主机"依次写入"、打印机"依次取出",这是有方向的顺序,不是后进先出。

C

树是非线性结构,适合描述层次关系,和"依次写入、依次取出"的顺序缓冲毫无关系。选 C 是不清楚各结构的应用场景,看到"缓冲区"联想到了复杂结构。

D

图用来表达多对多关系,与缓冲区的线性顺序完全对不上。选 D 同样是不清楚题目要求的逻辑结构含义,随机选了一个复杂结构。

总解析

打印缓冲区的工作模式是:主机按顺序写入数据,打印机按同样的顺序依次取出打印。"先写入的先被打印",这正是 FIFO(先进先出)的定义,对应的逻辑结构是队列

栈是 LIFO(后进先出),会导致最后写入的数据最先打印,顺序完全颠倒,不符合需求。树和图是非线性结构,无法直接描述这种顺序读写关系。答案 B

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数