3.数据结构作业答案第3章--第3章栈和队列自测卷答案作业答案.docx

3.数据结构作业答案第3章--第3章栈和队列自测卷答案作业答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章栈和队列自测卷答案 姓名 班级 题号 -一- -二二 三 四 五 六 总分 题分 15 10 20 20 20 15 100 得分 一、填空题(每空1分,共15分) 【李春葆】向量、栈和队列都是—线性 —结构,可以在向量的 _任何 位置插入和删除元素;对于 栈只能在—栈顶_插入和删除元素;对于队列只能在 _队尾_插入和 _队首_删除元素。 栈是一种特殊的线性表,允许插入和删除运算的一端称为 —栈顶 。不允许插入和删除运算的一端 TOC \o 1-5 \h \z 称为 底 。 _队列—是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。 在一个循环队列中,队首指针指向队首元素的 _前一个—位置。(注:不一定,这是一种约定,在殷 教材中是队首指针指向队列的首元素位置 ) 在具有n个单元的循环队列中,队满时共有 n-1个元素。 向栈中压入元素的操作是先移动栈顶指针,后—存入元素 。 从循环队列中删除一个元素时,其操作是 先_移动队首指针 ,后 取出元素 。(注:不一定,这 是一种约定,在殷教材中是 先 取出元素 ,后移动队首指针 ) 〖00年统考题〗带表头结点的空循环双向链表的长度等于 —0— 解: head L=head 头结点 R=head :■、判断正误(判断下列概念的正确性,并作出简要的说明。 )(每小题1分,共10分) ( x ) 1.线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。 (X ) 2.在表结构中最常用的是线性表,栈和队列不太常用。 错,不一定吧?调用子程序或函数常用, CPU中也用队列。 (V ) 3.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 (V ) 4.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。 正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。 (X ) 5.栈和链表是两种不同的数据结构。 错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。 (X ) 6.栈和队列是一种非线性数据结构。 错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。 ( V ) 7.栈和队列的存储方式既可是顺序方式,也可是链接方式。 ( V ) 8.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底 分别设在这片内存空间的两端。 (X ) 9.队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。 错,后半句不对。 (X ) 10. 一个栈的输入序列是 12345,则栈的输出序列不可能是 12345。 错,有可能。(注:不可能是 53421等) 三、单项选择题 (每小题1分,共20分) (B ) 1.〖00年元月统考题〗栈中元素的进出原则是 A.先进先出 E.后进先出 C.栈空则进 D.栈满则出 (C (C ) 2.〖李春葆〗若已知一个栈的入栈序列是 pn,若 p1= n,贝pi 为 A. i B. n=i C. n-i+1 解释:当p仁n,即n是最先出栈的,根据栈的原理, 么输入顺序必定是1, 2, 3, , , n,则出栈的序列是 1, 2, 3, , , n,其输出序列为 p1, p2, p3,,, D.不确定 n必定是最后入栈的(事实上题目已经表明了 ),那 n, , , 3, 2, 1。 (若不要求顺序出栈,则输出序列不确定) ( B ) 3.〖李春葆〗判定一个栈ST (最多元素为 mO)为空的条件是(注:在殷教材中是 top= -1) A. ST-top0 B. ST-top=0 C. ST-topm0 D. ST-top=m0 ( A ) 4.〖李春葆〗 判定一个队列QU (最多元素为 mO)为满队列的条件是(注:在殷教材在采用 循环队列队满是 front= =(rear+1)%mO ) A. QU-rear — QU-front = = m0 B. QU-rear — QU-front — 1= = m0 C. QU-front = = QU-rear D. QU-front = = QU-rear+1 解:队满条件是元素个数为 m0。由于约定满队时队首指针与队尾指针相差 1,所以不必再减1 了,应当选 A。当然,更正确的答案应该取模,即: QU-fro nt = = (QU-rear+1)% m0 ( D ) 5 .数组Q:n ]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的 位置,假定队列中元素的个数小于n,计算队列中元素的公式为 (A) r— f; (B) (n + f

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档