下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章栈和队列一、选择题二、判断题1.V2.V3.J4.、/5.x677.V8.V9.J10.x11.V12.x13.x14.x15.、/16.x17.V18.x19.V20.部份答案解释如下。1、1、尾递归的消除就不需用栈2、二、那个数是前序序列为L2,3,,n,所能取得的不相似的二叉树的数量。三、填空题1、操作受限(或限定仅在表尾进行插入和删除操作)后进先出2、栈3、3124、23100CH5、0n+1topl+l=top26、两栈顶指针值相减的绝对值为1(或两栈顶指针相邻)。7、(1)满(2)空(3)n(4)栈底(5)两栈顶指针相邻(即值之差的绝对值为1)8、链式存储结构9、SXSSXS
2、XX10、data+top=x:11、(注:表达式中的点(.)表示将数隔开,如是三个数)12、假溢出时大量移动数据元素。13、(M+l)MODN(M+l)%N:14、队列15、先进先出16、先进先出17、s=(LinkedList)malloc(sizeof(LNode):s->data=x;s->next=r->next:r->next=s;r=s:18、捐躯一个存储单元设标记19、(TAIL+1)MODM=FR0NT(数组下标。到M-1,若必然利用1到M,则取模为0者,值改取M20>=+l)%(M+l);return):+1)%(M+l)=:21、栈22、(r
3、ear-front+m)%m:23、(R-P+N)%N;24、(1)ai或(2)ai(3)pop(s)或sl:25、(1)PUSH(OPTR,w)(2)POP(OPTR)(3)PUSH(OPND,operate(a,theta,b)26、(1)T>0(2)i<n(3)T>0(4)top<n(5)top+1(6)true(7)i-1(8)top-1(9)T+wi(10)false四、应用题1、栈是只准在一端进行插入和删除操作的线性表,允许插入和删除的一端叫栈顶,另一端叫栈底。最后插入的元素最先删除,故栈也称后进先出(LIFO)表。2、队列是允许在一端插入而在另一端删除的线
4、性表,允许插入的一端叫队尾,允许删除的一端叫队头。最先插入队的元素最先离开(删除),故队列也常称先进先出(FIFO)表。3、用常规意义下顺序存储结构的一维数组表示队列,由于队列的性质(队尾插入和队头删除),容易造成“假溢出”现象,即队尾已抵达一维数组的高低标,不能再插入,但是队中元素个数小于队列的长度(容量)。循环队列是解决“假溢出”的一种方式。通常把一维数组看成首尾相接。在循环队列下,通常采用“捐躯一个存储单元”或“作标记”的方式解决“队满”和“队空”的判定问题。4、(1)通常有两条规则。第一是给定序列中S的个数和X的个数相等:第二是从给定序列的开始,到给定序列中的任一名置,S的个数要大于或
5、等于X的个数。(2)能够取得相同的输出元素序列。例如,输入元素为A,B,C,则两个输入的合法序列ABC和BAC都可取得输出元素序列ABC。对于合法序列ABC,咱们利用本题约定的SXSXSX操作序列:对于合法序列BAC,咱们利用SSXXSX操作序列。5、三个:CDEBA,CDBEA,CDBAE6、输入序列为123456,不能得出435612,其理由是,输出序列最后两元素是12,前面4个元素(4356)取得后,栈中元素剩12,且2在栈顶,不可能栈底元素1在栈顶元素2之前出栈。取得135426的进程如下:1入栈并出栈,取得部份输出序列1:然后2和3入栈,3出栈,部份输出序列变成:13:接着4和5入栈
6、,5,4和2依次出栈,部份输出序列变成13542:最后6入栈并退栈,得最终结果135426。7、能取得出栈序列B、C、A、E、D,不能取得出栈序列D、B、A、C、E。其理由为:若出栈序列以D开头,说明在D之前的入栈元素是A、B和C,三个元素中C是栈顶元素,B和A不可能早于C出栈,故不可能取得D、B、A、C、E出栈序列。8、借助栈结构,n个入栈元素可取得l/(n+l)(2n)!/(n!*n!)种出栈序列。本题4个元素,可有14种出栈序列,abed和dcba就是其中两种。但dabc和adbc是不可能取得的两种。9、不能取得序列2,5,3,4,60栈能够用单链表实现,这就是链栈。由于栈只在栈顶操作,
7、所以链栈通常不设头结点。10、若是i<j,则对于情形,说明初在P:入栈前先出栈。而对于的情形,则说明要将P:压到5之上,也就是在火出栈以后P:才能出栈。这就说明,对于不可能出现的输出序列。换句话说,对于输入序列1,2,3,不可能出现3,1,2的输出序列。11、(1)能取得325641。在123依次进栈后,3和2出栈,得部份输出序列32:然后4,5入栈,5出栈,得部份出栈序列325:6入栈并出栈,得部份输出序列3256:最后退栈,直到栈空。得输出序列325641。其操作序列为AAADDAADADDD。(2)不能取得输出顺序为154623的序列。部份合法操作序列为ADAAAADDAD,取得部
8、份输出序列1546后,栈中元素为23,3在栈顶,故不可能2先出栈,得不到输出序列154623。12、(1)一个函数在结束本函数之前,直接或间接挪用函数自身,称为递归。例如,函数f在执行中,又挪用函数f自身,这称为直接递归;若函数f在执行中,挪用函数g,而g在执行中,又挪用函数f,这称为间接递归。在实际应用中,多为直接递归,也常简称为递归。(2)递归程序的长处是程序结构简单、清楚,易证明其正确性。缺点是执行中占内存空间较多,运行效率低。(3)递归程序执行中需借助栈这种数据结构来实现。(4)递归程序的入口语句和出口语句一般用条件判断语句来实现。递归程序由大体项和归纳项组成。大体项是递归程序出口,即
9、再也不递归即可求出结果的部份:归纳项是将原来问题化成简单的且与原来形式一样的问题,即向着“大体项”进展,最终“抵达”大体项。13、函数挪用结束时vol=14。执行进程图示如下:vol(4)=vol(3)+5=vol(2)+3+5vol(3)+5=voKD+4+3+5=vol(0)+2+4+3+5=0+244+3+5=14vol(2)+3vol(1)+4vol(0)+214、进程p递归挪用自身时,进程p由内部概念的局部变量在p的2次挪用期间,不占m,初始时,栈S1的栈顶指针top0=0,栈S2的栈顶指针topl=m+l,当top0=0为左栈空,topl=m+l为右栈空;当top0=0而且topl
10、=m+l时为全栈空。当topl-top0=l时为栈满。27、(1)每一个栈仅用一个顺序存储空间时,操作简便,但分派存储空间小了,容易产生溢出,分派空间大了,容易造成浪费,各栈不能共享空间。(2)多个栈共享一个顺序存储空间,充分利用了存储空间,只有在整个存储空间都用完时才能产生溢出,其缺点是当一个栈满时要向左、右栈查询有无空闲单元。若是有,则要移动元素和修改相关的栈底和栈顶指针。当接近栈满时,查询空闲单元、移动元素和修改栈底栈顶指针的操作频繁,计算复杂而且花费时刻。(3)多个链栈一般不考虑栈的溢出(仅受用户内存空间限制),缺点是栈中元素要以指针相链接,比顺序存储多占用了存储空间。28、设topi
11、和toP2别离为栈1和2的栈顶指针(1)入栈主要语句if(top2-topl=l)printf(“栈满n");exit(0);easel:topl+;SPACEtopiJ=x;cT)°在循环队列下,仍概念front=rear时为队空,而判断队满则用两种办法,一是用“捐躯一个单元”,即rear+l=front(准确记是(rear+l)%):front,m是队列容量)时为队满。另一种解法是“设标记”方式,如设标记tag,tag等于0情形下,若删除时致使front=rear为队空;tag二l情形下,若因插入致使front=rear则为队满。30、见上题29的解答。31、参见上面29题。32、typedefstructnode(elemtypeelemcqEm;MAXSIZE-1具体参见本章应用题第29题35、typedefstructelemtpqm;intfront,count;处置整数num=nuin*10+(ord(x)-ord('O')scanf(,&x);else处置小数部份。scale二;scanf(“%c”,&x);while(x>=?O'9')(num=num+(ord(x)-ord('O')/scale;scale=scale*10;scanf(a%c",&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年工程监理居间合同
- 2024年学校教育信息化建设合同
- 2024个人租赁合同范本下载茶楼租赁合同
- 2024年小产权二手房转让协议
- 2024年工程咨询:建筑项目服务合同
- 2024年城市供水供电供气总承包合同
- 小学语文经典美文徒步旅行
- 高中政治第四单元当代国际社会10.3我国的外交政策的基本目标和宗旨教案新人教版必修2
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析)
- 网络房产中介预约平台开发合同
- 人教鄂教版(2024秋) 三年级上册5.15建筑中的材料 教学设计
- 2024年高考新课标全国卷政治试题分析及2025届高考复习备考建议
- 广东省佛山市2023届普通高中教学质量检测(二)化学试题
- 工业产品质量安全日管控、周排查、月调度工作制度
- 华东师大版(2024年新教材)七年级上册数学期中综合素质评价试卷(含答案)
- 混凝土路面施工中的技术难点及解决方案
- 2024-2030年中国安胎药市场运营态势及未来销售规模建议研究报告
- GB/T 44158-2024信息技术云计算面向云原生的应用支撑平台功能要求
- 南京市育英外国语学校2022-2023八年级上学期数学期初试卷及答案
- 【课件】+布局经营-绘画构图基础+课件高中美术人美版(2019)选择性必修1+绘画
- 教育培训挂靠合作协议
评论
0/150
提交评论