- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》第三章学习指导
第三章 栈与队列
1、栈的定义、特点?
2、算法设计:顺序栈的初始化、入栈、出栈、判空、判满等?
3、有关入栈、出栈的一些例题,参见课件;
4、利用栈求解数学表达式?
5、队列的定义、特点?
6、循环队判空、判满、入队、出队?
7、栈在程序的递归调用中的作用?将递归结构的程序改写成非递归结构也必须用到栈。
综合练习
一、填空
1、对于一个栈,给定的输入项为a,b,c,则所有可能的输出序列有_abc_____,_acb______,_bac______,_bca________,_cba________。
2、栈是一种特殊的线性表,允许插入和删除运算的一端称为 栈顶 。不允许插入和删除运算的一端称为 栈底 。
3、利用栈来求解表达式主要是利用了栈的__先进后出__________特点。
二、判断
1、一个栈的输入序列是12345,则栈的输出序列不可能有12345。(错)
2、栈和队列的存储方式既可是顺序方式,也可是链接方式。(对)
3、在子程序的嵌套调用中往往用队来保存断点地址。(错 )
三、选择
1、若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现在( )种情况。
A.5,4,3,2,1 B.2,1,5,4,3 C.4,3,1,2,5 D.2,3,5,4,1
2、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为( )。
A.i B.n-i C.n-i+1 D.不确定
3、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为( )。
A.r-f B.(n+f-r)%n C.n+r-f D.(n+r-f)%n
4、链式栈结点为:(data,link),top指向栈顶.若想摘除栈顶结点,并将删除结点的值保存到x中,则应执行操作( )。
A.x=top-data;top=top-link; B.top=top-link;x=top-link;
C.x=top;top=top-link; D.x=top-link;
5、设有一个递归算法如下
??? ??? int fact(int n) {? //n大于等于0
??? ???????? if(n=0) return 1;
??? ???????? else return n*fact(n-1);??? ??? }
则计算fact(n)需要调用该函数的次数为( )。?
A.?n+1??? ?? B.?n-1????? C. n????? D. n+2
6、栈在?( )中有所应用。
A.递归调用 B.函数调用 C.表达式求值 D.前三个选项都有
7、为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。
A.队列 B.栈 C. 线性表 D.有序表
8、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈S,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈S的容量至少应该是( )。
A.2 B.3 C.4 D.
9、在一个具有n个单元的顺序栈中,假设以地址高端作为栈底,以top作为栈顶指针,则当作进栈处理时,top的变化为( )。
A.top不变 B.top=0 C.top-- D.top++
10、设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。
A.线性表的顺序存储结构 B.队列
C. 线性表的链式存储结构 D. 栈
11、用链接方式存储的队列,在进行删除运算时( )。
A. 仅修改头指针 B. 仅修改尾指针
C. 头、尾指针都要修改 D. 头、尾指针可能都要修改
12、循环队列存储在数组A[0..m]中,则入队时的操作为( )。
您可能关注的文档
- 地质大学(京)2006年春硕士研究生C++语言程序设计试题.doc
- 地面防水防处.doc
- 在聋校语文学中如何培养聋生的语感能.doc
- 培训单片机51.ppt
- 基于51和HT11的数码管C编.doc
- 基于Andoid系统的连连看详细设计说明.doc
- 基于ARM入式系统的图片浏览器设计(1.doc
- 基于CPL的汉字滚动显示系统设计Data acquisition未用(数据采集.doc
- 基于C++计的猜拳游.doc
- 基于MATAB的遗传算.doc
- 2025年七上课本实验题目及答案.doc
- 2026年河北轨道运输职业技术学院单招职业技能测试题库及答案1套.docx
- 2026年河北轨道运输职业技术学院单招职业适应性考试必刷测试卷及答案1套.docx
- 2026年河北软件职业技术学院单招职业适应性测试题库新版.docx
- 2026年河北软件职业技术学院单招职业适应性测试题库新版.docx
- 2026年河南工业贸易职业学院单招职业技能考试题库附答案.docx
- 2026年河南应用技术职业学院单招职业倾向性考试必刷测试卷推荐.docx
- 2026年河南工业贸易职业学院单招职业技能考试题库附答案.docx
- 2026年河南应用技术职业学院单招职业倾向性考试必刷测试卷推荐.docx
- 2026年河南工业贸易职业学院单招职业适应性考试必刷测试卷推荐.docx
文档评论(0)