栈和队列标准标准答案

上传人:博****1 文档编号:478619753 上传时间:2022-08-07 格式:DOCX 页数:12 大小:54.23KB
返回 下载 相关 举报
栈和队列标准标准答案_第1页
第1页 / 共12页
栈和队列标准标准答案_第2页
第2页 / 共12页
栈和队列标准标准答案_第3页
第3页 / 共12页
栈和队列标准标准答案_第4页
第4页 / 共12页
栈和队列标准标准答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《栈和队列标准标准答案》由会员分享,可在线阅读,更多相关《栈和队列标准标准答案(12页珍藏版)》请在金锄头文库上搜索。

1、第3章栈和队列自测卷答案姓名班级题号一一二四五六总分题分151020202015100得分一、填空题(每空1分,共15分)1 .【李春葆】 向量、栈和队列都是 线性 结构,可以在向量地 任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和丛豆删除元素.b5E2R2 .栈是一种特殊地线性表,允许插入和删除运算地一端称为栈原.不允许插入和删除运算地一端称为地底.3 .队列是被限定为只能在表地一端进行插入运算,在表地另一端进行删除运算地线性表4 .在一个循环队列中,队首指针指向队首元素地前一个位置.5 .在具有n个单元地循环队列中,队满时共有n-1个元素.6 .向栈中压入

2、元素地操作是 先移动栈顶指针,后存入元素 .7 .从循环队列中删除一个元素时,其操作是先 移动队首指针,后 取出元素.8 . R00年统考题1带表头结点地空循环双向链表地长度等于0.解:L=head头结点R=head二、判断正误(判断下列概念地正确性,并作出简要地说明.)(每小题1分,共10分)(X) 1.线性表地每个结点只能是一个简单类型,而链表地每个结点可以是一个复杂类型.错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关(X )2.在表结构中最常用地是线性表,栈和队列不太常用错,不一定吧?调用子程序或函数常用,CPU中也用队列.(,)3.栈是一种对所有插入、删除操作限于

3、在表地一端进行地线性表,是一种后进先出型结构(,)4.对于不同地使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表.正确,都是线性逻辑结构,栈和队列其实是特殊地线性表,对运算地定义略有不同而已(X )5.栈和链表是两种不同地数据结构.错,栈是逻辑结构地概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项(x ) 6.栈和队列是一种非线性数据结构.错,他们都是线性逻辑结构,栈和队列其实是特殊地线性表,对运算地定义略有不同而已.(,)7.栈和队列地存储方式既可是顺序方式,也可是链接方式(,)8.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈地栈底分别设在这片

4、内存空间地两端.plEan(X )9.队是一种插入与删除操作分别在表地两端进行地线性表,是一种先进后出型结构.错,后半句不对.(X ) 10. 一个栈地输入序列是 12345,则栈地输出序列不可能是12345.错,有可能.三、单项选择题(每小题1分,共20分)(B )1.100年元月统考题1 栈中元素地进出原则是A .先进先出B .后进先出C .栈空则进D .栈满则出(C ) 2. R李春葆1若已知一个栈地入栈序列是 1, 2, 3,,n,其输出序列为p1, p2, p3,pn,若 p1=n,则 pi 为 dxdkA. i B . n=i C . n-i+1解释:当p1=n,即n是最先出栈地,

5、根据栈地原理,么输入顺序必定是1, 2, 3,,n,则出栈地序列是(若不要求顺序出栈,则输出序列不确定)D.不确定n必定是最后入栈地(事实上题目已经表明了 ),那n,,3, 2, I.RTCrp( B ) 3. R李春葆1判定一个栈ST (最多元素为 m0)为空地条件是A. ST-top0 B . ST-top=0C . ST-topm0D. ST-top=m05PCzV( A ) 4. R李春葆1判定一个队列 QU (最多元素为 m0)为满队列地条件是A. QU-rear QU-front = = m0 B . QU-rear QU-front - 1= = mOjLBHr。C . QU-f

6、ront = = QU-rear D . QU-front = = QU-rear+1解:队满条件是元素个数为m0.由于约定满队时队首指针与队尾指针相差1,所以不必再减1 了,应当选A.当然,更正确地答案应该取模,即: QU-front = = (QU-rear+1)% m0 xHAQX( D ) 5.数组Q :n用来表示一个循环队列,f为当前队列头元素地前一位置,r为队尾元素地位置,假定队列中元素地个数小于n,计算队列中元素地公式为LDAYt(A) rf; (B) (n + fr) %n;(C) n+rf;(D) (n+rf) %nZzz6Z。6.198初程P71 从供选择地答案中,选出应填

7、入下面叙述?内地最确切地解答,把相应编号写在答卷地应栏内.dvzfv。设有4个数据元素a1、a2、a3和a4,对他们分别进行栈操作或队操作.在进栈或进队操作时,按 a1、a2、a3、a4次序每次进入一个元素.假设栈或队地初始状态都是空 .rqyn1。现要进行地栈操作是进栈两次,出栈一次,再进栈两次,出栈一次;这时,第一次出栈得到地元素是A,第二次出栈得到地元素是B 是:类似地,考虑对这四个数据元素进行地队操作是进队两次,出队一次,再进队两次,出队一次;这时,第一次出队得到地元素是C ,第二次出队得到地元素是 D.经操作后,最后在栈中或队中地元素还有 E个.Emxv为供选择地答案:AD:a1a2

8、a3a4E: 1 23 0答:ABCDE=2,4, 1, 2,27.194初程P75】从供选择地答案中,选出应填入下面叙述?内地最确切地解答.把相应编号写在答卷地又应栏内.SixE2 o栈是一种线性表,它地特点是 A.设用一维数组 A1,n来表示一个栈,An为栈底,用整型变 量T指示当前栈顶位置,AT为栈顶元素.往栈中推入(PUSH) 一个新元素时,变量 T地值 B ;从栈 中弹出(POP) 一个元素时,变量T地值 C.设栈空时,有输入序列a, b, c,经过PUSH, POP, PUSH,PUSH, POP操作后,从栈中弹出地元素地序列是_D,变量T地值是_E_.6ewMy供选择地答案:A:

9、 先进先出后进先出进优于出出优于进 随机进出8, C: 加1 减1 不变清0加2 减2kav皿D : a,b3) b,c c,a b,a c,b a,cE: n+1n+2n n-1n-2答案:ABCDE=2,2,1,6,4注意,向地址地高端生长,称为向上生成堆栈;向地址低端生长叫向下生成堆栈,本题中底部为n,向地址地低端递减生成,称为向下生成堆栈.y6V3A。8.191初程P77从供选择地答案中,选出应填入下面叙述?内地最确切地解答,把相应编号写在答卷地又中应栏内.M2ub6在做进栈运算时,应先判别栈是否A ;在做退栈运算时,应先判别栈是否B.当栈中元素为n为了增加内存空间地利用率和减少溢出地

10、可能性, 分别设在这片内存空间地两端,这样,只有当 供选择地答案:A, B:空满 上溢C: n-1nn+1n/2D: 长度 深度 栈顶E:两个栈地栈顶同时到达栈空间地中心点两个栈地栈顶在达栈空间地某一位置相遇答案:ABCDE = 2, 1, 2, 4, 3个,做进栈运算时发生上溢,则说明该栈地最大容量为C .0YujC由两个栈共享一片连续地内存空间时,应将两栈地DE 时,才产生上溢.eUts8。下溢栈底其中一个栈地栈顶到达栈空间地中心点两个栈均不空,且一个栈地栈顶到达另一个栈地栈底四、简答题(每小题4分,共20分)1 .【严题集3.2和3.11】说明线性表、栈与队地异同点.于答:相同点:都是线

11、性结构,都是逻辑结构地概念 .都可以用顺序存储或链表存储;栈和队列是两种特殊地线性表,即受限地线性表,只是对插入、删除运算加以限制.sQsAE不同点:运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO.GMsIa用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等.2 .【统考书P60 4-11,难于严题集3.1】设有编号为1, 2, 3, 4地四辆列车,顺序进入一个栈式结构地车站,具体写出这四辆列车开出车站地所有可能地顺序.TIrRG。于答:至少

12、有14种. 全进之后再出情况,只有 1种:4, 3, 2, 1进3个之后再出地情况,有3种,3,4,2,1 3,2,4,1 3,2,1,4进 2 个之后再出地情况,有5 种,2,4,3,12,3,4,12,1,3,4 2,1,4,3 2,1,3,47EqZc进 1 个之后再出地情况,有5 种,1,4,3,2 1,3,2,4 1,3,4,2 1,2,3,4 1,2,4,3lzq7I。3 .【刘自编】 假设正读和反读都相同地字符序列为“回文”,例如,abba和abcba是回文,abcde和ababab则不是回文.假设一字符序列已存入计算机,请分析用线性表、堆栈和队列等方式正确输出 其回文地可能性?

13、 zvpge。答:线性表是随机存储,可以实现,靠循环变量(j-)从表尾开始打印输出;堆栈是后进先出,也可以实现,靠正序入栈、逆序出栈即可;队列是先进先出,不易实现 .哪种方式最好,要具体情况具体分析.若正文在机内已是顺序存储, 则直接用线性表从后往前读取即可, 或将堆栈栈顶开到数组末尾,然后直接用POP动作实现.(但堆栈是先减后压还是)NrpoJ。若正文是单链表形式存储,则等同于队列,需开辅助空间,可以从链首开始入栈,全部压入后再依次 输出.4 .【统考书P60 4-13顺序队地“假溢出”是怎样产生地?如何知道循环队列是空还是满?答:一般地一维数组队列地尾指针已经到了数组地上界,不能再有入队操

14、作,但其实数组中还有空位置,这就叫“假溢出”.Inowfo采用循环队列是解决假溢出地途径 .另外,解决队满队空地办法有三: 设置一个布尔变量以区别队满还是队空; 浪费一个元素地空间,用于区别队满还是队空. 使用一个计数器记录队列中元素个数(即队列长度)我们常采用法,即队头指针、队尾指针中有一个指向实元素,而另一个指向空闲元素判断循环队列队空标志是:f=rear 队满标志是:f=(r+1)%N5.【统考书P60 4-14设循环队列地容量为 40 (序号从0到39),现经过一系列地入队和出队运算后,有 fjnFL。front=11 , rear=19; front=19 , rear=11;问在这两种情况下,循环队列中各有元素多少个?tfnNh答:用队列长度计算公式: (N + r-f)% N L= (40+1911) % 40=8 L= (40+11 19) % 40=32HbmVN五、阅读理解(每小题 5分,共20分.至少要写出思路)例3-2地1 .【严题集3.7】按照四则运算加、减、乘、除和哥运算(T)优先关系地惯例,并仿照教材 格式,画出对下列算术表达式求值时操彳数栈和运算符栈地变化过程:V7l4j。A BX C/D+E T F序号OPTR 栈UPND 找当前字符备注(操作)ABc/D+E-Fn

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号