西南科技大学(数据结构A)期末自测练习三

一、填空题(每空1分,共10分)

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

A、队列 B、栈 C、线性表 D、有序表

2、用S表示进栈操作,用X表示出栈操作,若元素的进栈顺序是1234,为了得到1342的出栈顺序,相应的S和X的操作序列为( D )

A、SXSXSSXX B、SSSXXSXX C、SXSSXXSX D、SXSSXSXX

3、设 a、b、c、d、e、f以所给的次序进栈,若在进栈操作时,允许出栈操作,则下面得不到的序列为( D )。

A、fedcba B、bcafed C、dcefba D、cabdef

4、若已知一个栈的入栈序列是1、2、3、4。其出栈序列为abcd,则b、d位置上不可能是( C )。

A、2、4 B、2、1 C、4、3 D、3、4

5、设计一个判别表达式中左、右括号配对的算法,采用( C )数据结构最为合适。

A、队列 B、顺序表 C、栈 D、单链表

6、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈 S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是( D )。

A、6 B、4 C、2 D、3

7、链式栈结点为(data,next),链栈执行Pop操作,并将出栈的元素存在x中应该执行( D )。

A、 x=top;top=top->next B、x=top>data

C、top=top->next; x=top->data D、x=top->data; top=top->next

8、栈和队列共同的特点是( C )

A、都是先进后出 B、都是先进先出

C、只允许在断点处插入和删除元素 D、没有共同点

9、一循环队列存储在一维数组A[O......n-1])中,且队列非空时 front 和rear分别指向对队头元素和队尾元素、若初始时队列为空,且要求第1个进队列的元素存储在A[0]处,则初始时front和rear的值分别是( B )

A、0,0 B、0, n-1 C、n-1,0 D、n-1, n-1

10、用链接方式存储的队列,在进行删除运算时( D)

A、仅修改头指针 B、仅修改尾指针

C、头、尾指针都要修改 D、头、尾指针可能都要修改

二、简答题(共10分)

1、简述栈的定义及其特点。(3分)

栈:限定仅在表尾进行插入或删除操作的线性表

特点:先进后出

2、简述队列的定义及其特点。(3分)

队列:允许在表的一端进行插入,在另一端进行删除

特点:先进先出

3、循环队列的优点是什么? (4分)

优点:消除假溢出现象,有效的利用资源

相关推荐
孑渡24 分钟前
【LeetCode】每日一题:跳跃游戏 II
python·算法·leetcode·游戏·职场和发展
ka2x29 分钟前
订单折扣金额分摊算法|代金券分摊|收银系统|积分分摊|分摊|精度问题|按比例分配|钱分摊|钱分配
java·c语言·c++·python·算法·spring·spring cloud
职略2 小时前
负载均衡类型和算法解析
java·运维·分布式·算法·负载均衡
A22742 小时前
LeetCode 196, 73, 105
java·算法·leetcode
阿里巴巴P8资深技术专家3 小时前
Java常用算法&集合扩容机制分析
java·数据结构·算法
zengson_g4 小时前
当需要对大量数据进行排序操作时,怎样优化内存使用和性能?
java·数据库·算法·排序算法
爱上电路设计4 小时前
有趣的算法
开发语言·c++·算法
helloKittywz7 小时前
内网学习第6天 liunx定时任务 环境变量和权限配置,以及数据库提权
学习·web安全·网络安全·内网渗透·liunx·权限提升·学习记录
Kerry_67 小时前
2024年江苏省研究生数学建模科研创新实践大赛C题气象数据高精度融合技术研究论文和代码分析
算法·数学建模·matlab·数据分析
风啊雨7 小时前
刷题Day44|188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
算法