【考研类试卷】计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编1及答案解析.doc
《【考研类试卷】计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编1及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编1及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编 1 及答案解析(总分:56.00,做题时间:90 分钟)一、综合题(总题数:24,分数:56.00)1.将两个栈 S1 和 S2 存入数组 V1m应如何安排最好?请写出栈顶指针 top 的初始值和判断栈空、栈满的条件是什么?【东南大学 1998 一、5(6 分)】【烟台大学 2007 四、1(5 分)】(分数:2.00)_2.若有一个一维数组 A,它的元素下标从 1 开始到 MAX。要在数组 A 中建立两个栈共享同一空间,栈 S1 的栈顶指针为 top1,栈 S2 的栈顶指针为 top2,为了最大限度地利用数组 A 的空间,则应该如何共享
2、?栈满和栈空的条件是什么?【北京理工大学 2006 十一、3(5 分)】(分数:2.00)_3.设输入序列为 a,b,c,d,试写出借助一个栈可得到的两个输出序列和两个不能得到的输出序列。【北京科技大学 2001 一、4(2 分)】(分数:2.00)_4.试证明:若借助栈由输入序列 1,2,n 得到输出序列为 P 1 ,P 2 ,P n (它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着 P f ki。【上海交通大学 1998 二(15 分)】(分数:2.00)_5.什么是递归程序?(分数:2.00)_6.递归程序的优、缺点是什么?(分数:2.00)_7.递归程序在执行时,
3、应借助于什么来完成?(分数:2.00)_8.递归程序的入口语句、出口语句一般用什么语句实现?【大连海事大学 1996 二、4(4 分)】(分数:2.00)_9.试推导出总盘数为 n 的 Hanoi 塔的移动次数。【北京邮电大学 2001 四、3(5 分)】(分数:2.00)_10.用一个数组 S(设大小为 MAX)作为两个堆栈的共享空间。请说明共享方法,栈满栈空的判断条件,并用 C 或 Pascal 设计公用的入栈操作 push(i,x),其中 i 为 0 或 1,用于表示栈号,x 为入栈值。【浙江大学 1998 五、2(7 分)】(分数:2.00)_在一个算法中需要建立多个堆栈时可以选用下列
4、三种方案之一,试问:这三种方案之间相比较各有什么优缺点?(分数:6.00)(1).分别用多个顺序存储空间建立多个独立的堆栈;(分数:2.00)_(2).多个堆栈共享一个顺序存储空间;(分数:2.00)_(3).分别建立多个独立的链接堆栈。【北京航空航天大学 1998 一、6(4 分)】(分数:2.00)_在某程序中,有两个栈共享一个一维数组空间 SPACEN、SPACE0、SPACN-1分别是两个栈的栈底。(分数:4.00)(1).对栈 1、栈 2,试分别写出(元素 x)入栈的主要语句和出栈的主要语句。(分数:2.00)_(2).对栈 1、栈 2,试分别写出栈满、栈空的条件。【北京理工大学 1
5、999 二、2(8 分)】(分数:2.00)_11.用栈实现将中缀表达式 8 一(3+5)*(562)转换成后缀表达式,画出栈的变化过程图。【南京航空航天大学 2001 五(10 分)】(分数:2.00)_12.将表达式 a+b)*c+d-(e+g)*h 改写成后缀表达式。 【吉林大学 2007 二、4(3 分)】(分数:2.00)_13.在表达式中,有的运算符要求从右到左计算,如 A*B*C 的计算次序应为(A*(B*C),这在由中缀生成后缀的算法中是怎样实现的?(以*为例说明)【东南大学 1993 一、2(6 分)1997 一、1(8 分)】(分数:2.00)_14.有字符串次序为 3*-
6、y-a/y2,利用栈,给出将次序改为 3y-*ay2的操作步骤。(可用 X 代表扫描该字符串过程中顺序取一个字符进栈的操作,用 S 代表从栈中取出一个字符加入到新字符串尾的出栈操作。例如,ABC 变为 BCA 的操作步骤为 XXSXSS。)【东北大学 2001 一、4(4 分)】(分数:2.00)_15.用栈作工具,将十进制数 9027 转换为八进制数,试列出运算过程和栈中元素的变化过程。【华中科技大学 2006 四、1(10 分)】(分数:2.00)_16.画出对算术表达式 A-B*CD-EF 求值时,操作数栈和运算符栈的变化过程。【东南大学 2000 一、3(6 分)】(分数:2.00)_
7、17.设输入元素为 1、2、3、P 和 A,输入次序为 123PA,如图(编者略)。元素经过栈后到达输出序列,当所有元素均到达输出序列后,有哪些序列可以作为高级语言的变量名?【中山大学 1997】(分数:2.00)_18.简述顺序存储队列的假溢出的避免方法及队列满和空的条件。【山东大学 2000 一、2(4 分)】(分数:2.00)_19.简要叙述循环队列的数据结构,并写出其初始状态、队列空、队列满时的队首指针与队尾指针的值。【南京航空航天大学 1995 七(5 分)】(分数:2.00)_20.队列可以用循环单链表来实现,故可以只设置一个头指针或者只设置一个尾指针。请你分析对于循环单链表实现的
8、队列,用哪种方案更合适。【北京大学 2003 五、1(5 分)】(分数:2.00)_21.利用两个栈 s1、s2 模拟一个队列时,如何用栈的运算实现队列的插入、删除以及判队空运算。请简述这些运算的算法思想。【北京邮电大学 1992 一、1】【东南大学 1999 一、1(7 分)】(分数:2.00)_如果用一个循环数组 q0 一 m 一 1表示队列时,该队列只有一个队列头指针 front,不设队列尾指针rear,而改置计数器 count 用以记录队列中结点的个数。(分数:4.00)(1).编写实现队列的三个基本运算:判空、入队、出队。(3 分)(分数:2.00)_(2).队列中能容纳元素的最多个
9、数是多少? (1 分)【东北大学 2002 一、1】(分数:2.00)_计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编 1 答案解析(总分:56.00,做题时间:90 分钟)一、综合题(总题数:24,分数:56.00)1.将两个栈 S1 和 S2 存入数组 V1m应如何安排最好?请写出栈顶指针 top 的初始值和判断栈空、栈满的条件是什么?【东南大学 1998 一、5(6 分)】【烟台大学 2007 四、1(5 分)】(分数:2.00)_正确答案:(正确答案:设栈 S1 和栈 S2 共享向量 V1 一 m,初始时,栈 S1 的栈顶指针 top0=0,栈 S2的栈顶指针 top1=m+1
10、,当 top0=0 时为左栈空,top1=m+1 时为右栈空;当 top0=0 并且 top1=m+1 时为全栈空。当 top1-top0=1 时为栈满。)解析:2.若有一个一维数组 A,它的元素下标从 1 开始到 MAX。要在数组 A 中建立两个栈共享同一空间,栈 S1 的栈顶指针为 top1,栈 S2 的栈顶指针为 top2,为了最大限度地利用数组 A 的空间,则应该如何共享?栈满和栈空的条件是什么?【北京理工大学 2006 十一、3(5 分)】(分数:2.00)_正确答案:(正确答案:两栈共享数组 A,top1=0 时 S1 栈空,top2=MAX+1 时,S2 栈空;top2 一 to
11、p1=1时栈满。)解析:3.设输入序列为 a,b,c,d,试写出借助一个栈可得到的两个输出序列和两个不能得到的输出序列。【北京科技大学 2001 一、4(2 分)】(分数:2.00)_正确答案:(正确答案:n 个元素的排列有 n!种,但借助栈结构,n 个入栈元素只可得到 1(n+1)(2n)!(n!*n!)种出栈序列,这个数小于,l!。本题 4 个元素,可有 14 种出栈序列,abcd 和 dcba 就是其中两种;有 10(4114=10)种排列得不到,其中,dabc 和 adbc 是不可能得到的两种。)解析:4.试证明:若借助栈由输入序列 1,2,n 得到输出序列为 P 1 ,P 2 ,P
12、n (它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着 P f ki。【上海交通大学 1998 二(15 分)】(分数:2.00)_正确答案:(正确答案:如果 i i 在 pj入栈前先出栈。而对于 pip j的情况,则说明要将 pi压到 pj之上,也就是在 pj出栈之后 pi才能出栈。这就说明,对于 ijk,不可能出现 Pjki 的输出序列。换句话说,对于输入序列 1,2,3,不可能出现 3,1,2 的输出序列。)解析:5.什么是递归程序?(分数:2.00)_正确答案:(正确答案:(1)一个函数在结束本函数运行之前,直接或间接调用函数自身,称为递归。例如,函数 f 在执行中
13、,又调用函数 f 自身,称为直接递归;若函数 f 执行中,调用函数 g,而 g 执行中,又调用函数 f,这称为间接递归。在实际应用中,多为直接递归,也常简称为递归。)解析:6.递归程序的优、缺点是什么?(分数:2.00)_正确答案:(正确答案:递归程序的优点是程序结构简单、易读、清晰,易证明其正确性。缺点是执行中占内存空间较多,运行效率低,不易优化。)解析:7.递归程序在执行时,应借助于什么来完成?(分数:2.00)_正确答案:(正确答案:递归程序执行中需借助栈这种数据结构来实现。)解析:8.递归程序的入口语句、出口语句一般用什么语句实现?【大连海事大学 1996 二、4(4 分)】(分数:2
14、.00)_正确答案:(正确答案:递归程序的入口语句和出口语句一般用条件判断语句来实现。)解析:9.试推导出总盘数为 n 的 Hanoi 塔的移动次数。【北京邮电大学 2001 四、3(5 分)】(分数:2.00)_正确答案:(正确答案:设 H n 为 n 个盘子的 Hanoi 塔的移动次数(假定 n 个盘子从钢针 X 移到钢针 z,可借助钢针 Y),则 H n =2H n-1 +1先将 n 一 1 个盘子从 X 移到 Y,第 n 个盘子移到 z,再将那 n 一 1 个移到 Z=2(2H n-2 +1)+1=2 2 H n-2 +2+1=2 2 (2 n-3 +1)+2+1=2 3 H n-3
15、+2 2 +2+1=2H n-k +2 k-1 +2 k-2 +2 1 +2 0 =2 n-1 H 1 +2 n-2 +2 n-3 +2 1 +2 0 因为 H 1 =1,所以 H 1 =2 n-1 +2 n-2 +2 1 +2 0 =2 n 一 1。故总盘数为 n 的 Hanoi 塔的移动次数是 2 n 1。)解析:10.用一个数组 S(设大小为 MAX)作为两个堆栈的共享空间。请说明共享方法,栈满栈空的判断条件,并用 C 或 Pascal 设计公用的入栈操作 push(i,x),其中 i 为 0 或 1,用于表示栈号,x 为入栈值。【浙江大学 1998 五、2(7 分)】(分数:2.00)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 数据结构 队列 历年 汇编 答案 解析 DOC
