收藏 分享(赏)

第3章特殊线性表——栈、队列和串.doc

上传人:杨桃文库 文档编号:19424728 上传时间:2023-03-15 格式:DOC 页数:6 大小:55KB
下载 相关 举报
第3章特殊线性表——栈、队列和串.doc_第1页
第1页 / 共6页
第3章特殊线性表——栈、队列和串.doc_第2页
第2页 / 共6页
第3章特殊线性表——栈、队列和串.doc_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 3 章 特殊线性表栈、队列和串 1. 填空 设有一个空栈,栈顶指针为1000H,现有输入序列为1、2、3、4、5, 经过push,push,pop,push,pop,push,push后,输出序列是( ),栈顶指针为( )。【解答】23,1003H 栈通常采用的两种存储结构是( );其判定栈空的条件分别是( ),判定栈满的条件分别是( )。【解答】顺序存储结构和链接存储结构(或顺序栈和链栈),栈顶指针top= -1和top=NULL,栈顶指针top等于数组的长度和内存无可用空间( )可作为实现递归函数调用的一种数据结构。【解答】栈【分析】递归函数的调用和返回正好符合后进先出性。(4) 栈和

2、队列是两种特殊的线性表,栈的操作特性是( ),队列的操作特性是( ),栈和队列的主要区别在于( )。【解答】后进先出,先进先出,对插入和删除操作限定的位置不同(5) 循环队列的引入是为了克服( )。【解答】假溢出(6) 用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是( )和( )。【解答】(1),(n)【分析】在带头指针的循环链表中,出队即是删除开始结点,这只需修改相应指针;入队即是在终端结点的后面插入一个结点,这需要从头指针开始查找终端结点的地址。(7) 两个串相等的充分必要条件是( )。【解答】长度相同且对应位置的字符相等【分析】例如abcabc ,abcbca

3、。2. 选择题 若一个栈的输入序列是1,2,3,n,输出序列的第一个元素是n,则第i个输出元素是( )。A 不确定 B n-i C n-i-1 D n-i+1【解答】D【分析】此时,输出序列一定是输入序列的逆序。 设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是( )。A 6 B 4 C 3 D 2【解答】C【分析】由于队列具有先进先出性,所以,此题中队列形同虚设,即出栈的顺序也是e2、e4、e3、e6、e5、e1。 一个栈的入栈序列是1,2,3,4,5

4、,则栈的不可能的输出序列是( )。A 54321 B 45321 C 43512 D 12345 【解答】C【分析】此题有一个技巧:在输出序列中任意元素后面不能出现比该元素小并且是升序(指的是元素的序号)的两个元素。(4) 一个队列的入队顺序是1,2,3,4,则队列的输出顺序是( )。A 4321 B 1234 C 1432 D 3241【解答】B【分析】队列的入队顺序和出队顺序总是一致的。(5) 栈和队列的主要区别在于( )。A 它们的逻辑结构不一样 B 它们的存储结构不一样C 所包含的运算不一样 D 插入、删除运算的限定不一样【解答】D【分析】栈和队列的逻辑结构都是线性的,都有顺序存储和链

5、接存储,有可能包含的运算不一样,但不是主要区别,任何数据结构在针对具体问题时包含的运算都可能不同。3. 判断题 在栈满的情况下不能做进栈操作,否则将产生“上溢”。【解答】对。(2)在循环队列中,front指向队头元素的前一个位置,rear指向队尾元素的位置,则队满的条件是front=rear。【解答】错。这是队空的判定条件,在循环队列中要将队空和队满的判定条件区别开。(3) 空串与空格串是相同的。【解答】错。空串的长度为零,而空格串的长度不为0,其长度是串中空格的个数。4 举例说明顺序队列的“假溢出”现象。【解答】假设有一个顺序队列,如图3-6所示,队尾指针rear=4,队头指针front=1

6、,如果再有元素入队,就会产生“上溢”,此时的“上溢”又称为“假溢出”,因为队列并不是真的溢出了,存储队列的数组中还有2个存储单元空闲,其下标分别为0和1。5. 在操作序列push(1)、push(2)、pop、push(5)、push(7)、pop、push(6)之后,栈顶元素和栈底元素分别是什么?(push(k)表示整数k入栈,pop表示栈顶元素出栈。)【解答】栈顶元素为6,栈底元素为1。其执行过程如图3-7所示。6 在操作序列EnQueue(1)、 EnQueue(3)、 DeQueue、EnQueue(5)、EnQueue(7)、DeQueue、EnQueue(9)之后,队头元素和队尾元素分别是什么?(EnQueue(k)表示整数k入队,DeQueue表示队头元素出队)。【解答】队头元素为5,队尾元素为9。其执行过程如图3-8所示。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 事务文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报