- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章栈和队列
1. 掌握栈和队列的特点,并能在相应的应用问题中正确选用 2. 熟练掌握栈的顺序栈和链栈的进栈出栈算法,特别应注意栈满和栈空的条件 3. 熟练掌握循环队列和链队列的进队出队算法,特别注意队满和队空的条件 4. 理解递归算法执行过程中栈的状态变化过程 小结 进阶任务1 1. 什么叫递归? 2.队列和线性表有什么不同? 3.判别循环队列的“队空或队满”的方法有哪些? 4.在链队列中如何“判队空”和“判队满”? 在一个函数、过程或者定义的内部又直接(或间接)出现定义本身的引用,称为递归或者递归定义的 队列限定插入只能在表的一端和删除只能在表的另一端进行 使用循环队列的最主要的技术问题是如何判断其“满”和“空”的状态。 1)少用一个元素的存储空间,头尾指针相同作为队空,“队列头指针在队列尾指针的下一位置上” 作为队列满的标志。 2)使用一个计数器记录队列中元素的总数 队空条件:Q.front = Q.rear 链队列不需判队满 进阶任务2 请把下面名词术语翻译成英文,并大声读与拼写出来:? 栈 stack 栈顶 stack-top 栈底 stack-bottom 后进先出Last In First Out 顺序栈 sequence stack 链栈 linked stack 递归 Recursive 分治法 Divide and conquer 汉诺塔 Hanoi 队列queue 队头 queue front 队尾queue rear 先进先出 First In First Out 顺序队列 sequence queue 循环队列 Circular queue 链队列 linked queue 进阶任务3 1.选择题 (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 C C D 进阶任务3 (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.前三个选项都有 A A D 进阶任务3 (7)为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。 A.队列 B.栈 C. 线性表 D.有序表 (8)设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈S,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈S的
文档评论(0)