- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构练习题之栈和队列
第三章 栈和队列习题
选择题
1. 一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是( )
A. edcba
B. decba
C. dceab
D. abcde
2.一个队列的入队顺序是1,2,3,4,则队列的输出顺序是( )
A.4321
B.1234
C.1432
D.3241
3. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为( )
A. i
B. n=i
C. n-i+1
D. 不确定
4. 栈是将插入或删除操作限定在( )处进行的线性表。
A 端点
B 栈底
C 栈顶
D 中间
5. 若一个顺序栈ST在初始化时top=-1,则判定这个栈(最多元素为m0个)为栈满的条件是( )
A. top!=0;
B. top= =m0;
C. top!=m0;
D. top= =m0-1
6. 向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行( )(不带空的头结点)
A. HS.next=s;
B. s.next= HS.next; HS.next=s;
C. s.next= HS; HS=s;
D. s.next= HS; HS= HS.next;
7. 从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行的完整操作为( )(不带空的头结点)
A. x=HS; HS= HS.next;
B. x=HS.data;
C. HS= HS.next; x=HS.data;
D. x=HS.data; HS= HS.next;
8.最大容量为n的循环队列,队尾指针是rear,队头指针是front,则队空的条件是( )
A.(rear+1)MOD n=front
B.rear=front
C.rear+1=front
D.(rear-1)MOD
9.设栈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
n=front10. 表达式3*2^(4+2*2-6*3)-5求值过程中,当扫描到6时,操作数栈和算符栈为()。
A 3,2,4,1,1;*^(+*-
B 3,2,4,4; *^ ( + -
C 3,2,4,2,2;*^(-
D 3,2,8; *^(-
填空题
1.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串为_______。
2. 循环队列的引入,目的是为了克服_______。
3.队列与一般的线性表的区别在于_______。
4.表达式求值是_______应用的一个典型例子。
5.循环队列用数组A[0..m-1]存放其元素值,已知其头尾指针分别是front和rear ,则当前队列的元素个数是_______。
6.解决顺序队列假溢出的一个有效的方法是将溢出条件 rear = maxsize 改为_____________。
7.同一个栈内各元素的类型_________。
8.在作入栈运算时,应先判别栈是否_____,在作出栈时应先判别栈是否_____。
9.设长度为n的链队列用单循环链表,若只设头指针,则入队和出队操作的时间复杂度分别为_____和_____;若只设尾指针,则入队和出队操作的时间复杂度分别为_____和_____。
10.在有n个元素的栈中,进栈和退栈操作的时间复杂度为_____和_____。
判断
( )1. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
( )2. 栈和队列是一种非线性数据结构。
( )3. 栈和队列的存储方式既可是顺序方式,也可是链接方式。
( )4. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
( )5. 由于队列遵循先进先出原则,所以队列出队操作只需要修改头指针。
实验题
1,请编写并实现算法,将任意一个非负的十进制整数,采用辗转相除法,转换为其他进制的数。(要求画流程图。)
2,一班有m个女生、n个男生,?举办一场舞会.?男女生分别编号坐在舞池两边的椅子上,每曲开始时,?依次从男生和女生中各出一人配对跳舞,?本曲没成功配对者坐着等待下一曲找舞伴,设计一个程序模拟舞伴配对过程(男生多于女生,女生多于男生,男生女生人数相等)。
要求舞伴的排队遵循先进先出原则。
3,(选做)、n个水手来到一个岛上,采了一堆椰子后,因为疲劳都睡着了。一段时间后,第一个水手醒来,悄悄地将
文档评论(0)