【考研类试卷】计算机学科专业基础综合数据结构-栈、队列和数组(二)及答案解析.doc
《【考研类试卷】计算机学科专业基础综合数据结构-栈、队列和数组(二)及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】计算机学科专业基础综合数据结构-栈、队列和数组(二)及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、计算机学科专业基础综合数据结构-栈、队列和数组(二)及答案解析(总分:53.00,做题时间:90 分钟)一、B单项选择题/B(总题数:37,分数:37.00)1.对一个初始为空的栈 s执行操作 Push(s,5),Push(s,2),Push(s,4),Pop(s,x),getTop(s,x)后,x的值应是_。 A.5 B.2 C.4 D.0(分数:1.00)A.B.C.D.2.用 S表示进栈操作,用 X表示出栈操作,若元素的进栈顺序是 1,2,3,4,为了得到出栈顺序1,3,4,2,相应的 S和 X的操作序列为_。 A.SXSXSSXX B.SSSXXSXX C.SXSSXXSX D.SXS
2、SXSXX(分数:1.00)A.B.C.D.3.已知一个栈的进栈序列为 1,2,3,n,其输出序列的第一个元素是 i,则第 j个出栈元素是_。 A.j-i B.n-i C.j-i+1 D.不确定(分数:1.00)A.B.C.D.4.已知一个栈的进栈序列为 1,2,3,n,其输出序列是 p1,p 2,p 3,p n。若 p1=3,则 p2的值_。 A.一定是 2 B.一定是 1 C.可能是 1 D.可能是 2(分数:1.00)A.B.C.D.5.已知一个栈的进栈序列为 p1,p 2,p 3,p n,其输出序列是 1,2,3,n。若 p3=1,则 p1的值_。 A.一定是 2 B.可能是 2 C.
3、不可能是 2 D.一定是 3(分数:1.00)A.B.C.D.6.以下有关顺序栈的操作中,正确的是_。 A.n个元素进入一个栈后,它们的出栈顺序一定与进栈顺序相反(一次性进栈完毕后再出栈) B.若一个栈的存储空间为 Sn,则对栈的进栈和出栈操作最多只能执行 n次 C.栈是一种对进栈和出栈操作的次序做了限制的线性表 D.空栈没有栈顶指针(分数:1.00)A.B.C.D.7.在实现顺序栈的操作时,在进栈之前应先判断栈是否_,在出栈之前应先判断是否空。 A.空 B.满 C.上溢 D.下溢(分数:1.00)A.B.C.D.8.设链式栈中结点的结构为(data,link),且 top是指向栈顶的指针。若
4、想在链式栈的栈顶插入一个由指针 s所指的结点,则应执行的操作是_。 A.toplink=S; B.Slink=top+link;toplink=s; C.slink=top;top=s; D.slink=top;top=toplink;(分数:1.00)A.B.C.D.9.设一个循环队列 QmaxSize的队头指针为 front,队尾指针为 rear,队列最大容量为 maxSize。除此之外,该队列再没有其他数据成员,则该队列的队满条件是_。 A.Q.front=Q.rear B.front+Q.rear=maxSize C.Q.fron=(Q.rear+1)%maxSize D.Q.rear
5、=(Q.front+1)%maxSize(分数:1.00)A.B.C.D.10.一个队列的进队顺序是 1,2,3,4,则该队列可能的输出序列是_。 A.1,2,3,4 B.1,3,2,4 C.1,4,2,3 D.4,3,2,1(分数:1.00)A.B.C.D.11.对于链式队列,在执行插入操作时_。 A.仅修改头指针 B.仅修改尾指针 C.头、尾指针都要修改 D.头、尾指针可能都要修改(分数:1.00)A.B.C.D.12.最适合用做链式队列的链表是_。 A.带有队头指针和队尾指针的循环单链表 B.带有队头指针和队尾指针的非循环单链表 C.只带队头指针的循环单链表 D.只带队头指针的非循环单链
6、表(分数:1.00)A.B.C.D.13.最不适合用做链式队列的链表是_。 A.带有队头指针的双向非循环链表 B.带有队头指针的双向循环链表 C.只带队尾指针的双向循环链表 D.只带队尾指针的循环单链表(分数:1.00)A.B.C.D.14.为解决计算机主机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结应该是_。 A.栈 B.队列 C.树 D.图(分数:1.00)A.B.C.D.15.在将递归算法转换成对应的非递归算法时,通常需要使用_保存中间结果。 A.链表 B.栈 C.队列 D.顺序表(分数
7、:1.00)A.B.C.D.16.一个递归算法必须包括_。 A.递归部分 B.结束条件和递归部分 C.迭代部分 D.结束条件和迭代部分(分数:1.00)A.B.C.D.17.在二维数组中,每个数组元素同时处于_个向量中。 A.0个 B.1个 C.2个 D.n个(分数:1.00)A.B.C.D.18.多维数组实际上是由_实现的。 A.一维数组 B.多项式 C.三元组表 D.简单变量(分数:1.00)A.B.C.D.19.在二维数组 A910中,每个数组元素占用 3个存储单元,从首地址 SA开始按行连续存放。在这种情况下,元素 A85的起始地址为_。 A.SA+141 B.SA+144 C.SA+
8、222 D.SA+255(分数:1.00)A.B.C.D.20.假设某栈的输入序列是 1,2,3,4,则不可能得到的输出序列是_。 A.1,2,3,4 B.4,1,2,3 C.4,3,2,1 D.1,3,4,2(分数:1.00)A.B.C.D.21.已知一个栈的进栈序列为 1,2,3,n,其输出序列是 p1,p 2,p 3,p n。若 p1=n,则 pi的值是_。 A.i B.n-i C.n-i+1 D.不确定(分数:1.00)A.B.C.D.22.已知一个栈的进栈序列为 p1,p 2,p 3,p n,其输出序列是 1,2,3,n。若 p3=3,则 p1的值是_。 A.一定是 2 B.可能是
9、2 C.不可能是 1 D.一定是 1(分数:1.00)A.B.C.D.23.已知一个栈的进栈序列为 p1,p 2,p 3,p n,其输出序列是 1,2,3,n。若 pn=1,则 pi的值是_。 A.n-i+1 B.n-i C.i D.不确定(分数:1.00)A.B.C.D.24.当利用大小为 n的数组顺序存储一个栈时,元素存储在0n-1位置上,假定用 top=n表示栈空,则向这个栈插入一个元素时,首先应执行_语句修改 top指针。 A.top+; B.top-; C.top=0; D.top=n;(分数:1.00)A.B.C.D.25.为了增加内存空间的利用率和减少溢出的可能,在两个栈共享一片
10、连续的存储空间时,应将两个栈的栈顶(初始的时候栈底和栈顶重合;元素进栈时,两栈顶相向运动)分设在这片存储空间的两端,当_时才产生上溢。 A.两个栈的栈顶同时到达栈空间的中心点 B.其中一个栈的栈顶到达栈空间的中心点 C.两个栈的栈顶在栈空间的某一位置相遇 D.两个栈的栈顶相加超过了栈空间的最大容量(分数:1.00)A.B.C.D.26.设链式栈中结点的结构为(data,link),且 top是指向栈顶的指针。若想摘下链式栈的栈顶结点,并将被摘除结点的值保存到 x中,则应执行的操作是_。 A.x=topdata;top=toplink; B.top=toplink;x=topdata; C.x=
11、top;top=toplink; D.x=topdata;(分数:1.00)A.B.C.D.27.设循环队列的存储容量为 maxSize,队头和队尾指针分别为 front和 rear。若有一个循环队列 Q,则可应用下列_算式计算队列元素个数。 A.Q.rear-Q.front B.Q.rear-Q.front+1 C.(Q.rear-Q.front)%maxSize+1 D.(Q.rear-Q.front+maxSize)%maxSize(分数:1.00)A.B.C.D.28.设一个链式队列 q的队头指针和队尾指针分别为 front和 rear,则判断队列为空的条件是_。 A.q.front=
12、q.rear B.q.front=NULL|q.rear=NULL C.q.rear=NULL D.q.front!=NULL(分数:1.00)A.B.C.D.29.对一个初始为空的队列 Q执行操作 enQueue(Q,a),enQueue(Q,b),deQueue(Q,x),deQueue(Q,Y)之后,再执行 isEmpty(Q),返回的值是_。 A.a B.b C.1 D.0(分数:1.00)A.B.C.D.30.设栈 S和队列 Q的初始状态均为空,元素 a,b,c,d,e,f,g 依次进入栈 S。如果每个元素出栈后立即进入队列 Q,且 7个元素出队的顺序为 b,d,c,f,e,a,g,
13、则栈 S的容量至少是_。 A.1 B.2 C.3 D.4(分数:1.00)A.B.C.D.31.已知输入序列是 1234,则输入受限(仅允许由一端输入)但输出不受限(两端均可输出)的双端队列不可能得到的输出序列是_。 A.4231 B.1324 C.3214 D.2341(分数:1.00)A.B.C.D.32.已知输入序列是 abcd,则经过输出受限的双端队列后能得到的输出序列是_。 A.dacb B.cadb C.dbca D.dbac(分数:1.00)A.B.C.D.33.设求解某问题的递归算法如下:void F(int n)if(n=1) Move(1);elseF(n-1);Move(
14、n);F(n-1);在求解该算法的计算时间时,仅考虑算法 Move所做的计算,且 Move为常数级算法。算法 F的计算时间T(n)的递推关系式为_。 A.T(n)=T(n-1)+1 B.T(n)=2T(n-1) C.T(n)=2T(n-1)+1 D.T(n)=2T(n+1)+1(分数:1.00)A.B.C.D.34.一个二维数组 A1020按行存放于一个连续的存储空间中,A00的存储地址是 200,每个数组元素占 1个存储字,则 A62的地址为_。 A.226 B.322 C.341 D.342(分数:1.00)A.B.C.D.35.一个二维数组 A1020按列存放于一个连续的存储空间中,A0
15、0的存储地址是 200,每个数组元素占 1个存储字,则 A62的地址为_。 A.226 B.322 C.341 D.342(分数:1.00)A.B.C.D.36.将一个 nn的对称矩阵 A的下三角部分按行存放在一个一维数组 B中,A00存放于 B0中,那么第 i行的对角元素 Aii在 B中的存放位置是_。 A.(i+3)i/2 B.(i+1)i/2 C.(2n-i+1)i/2 D.(2n-i-1)i/2(分数:1.00)A.B.C.D.37.设有一个 n阶的三对角线矩阵 A的对角元素 Aij可存放于一个一维数组 B中,要求行下标必须满足 0in-1,而列下标必须满足_。 A.0jn-1 B.i
16、-1ji+1 C.0ji D.ijn(分数:1.00)A.B.C.D.二、B综合应用题/B(总题数:2,分数:16.00)Legendre多项式定义如下:(分数:8.00)(1).编写一个递归算法,计算该多项式的值。(分数:4.00)_(2).编写一个非递归算法,计算该多项式的值。(分数:4.00)_设有一个 nn的对称矩阵 A。为了节约存储,可以只存对角线及对角线以上的元素,或者只存对角线或对角线以下的元素。前者称为上三角矩阵,后者称为下三角矩阵。把它们按行存放于一个一维数组 B中,并称之为对称矩阵 A的压缩存储方式。试问:(分数:8.00)(1).存放对称矩阵 A上三角部分或下三角部分的一
17、维数组 B有多少元素?(分数:4.00)_(2).若在一维数组 B中从 0号位置开始存放,则对称矩阵 A中的任意一个元素 aij在只存上三角部分的情形下(如下面一维数组 B的存储情况)应存于一维数组的什么下标位置?给出计算公式。 对称矩阵 A: 只存 A的上三角部分: (分数:4.00)_计算机学科专业基础综合数据结构-栈、队列和数组(二)答案解析(总分:53.00,做题时间:90 分钟)一、B单项选择题/B(总题数:37,分数:37.00)1.对一个初始为空的栈 s执行操作 Push(s,5),Push(s,2),Push(s,4),Pop(s,x),getTop(s,x)后,x的值应是_。
18、 A.5 B.2 C.4 D.0(分数:1.00)A.B. C.D.解析:解析 连续执行 3次元素进栈操作后,栈内的数据为 5,2,4,此时执行退栈操作 1次,栈内元素为 5和 2,栈顶读到 x中应为 2。2.用 S表示进栈操作,用 X表示出栈操作,若元素的进栈顺序是 1,2,3,4,为了得到出栈顺序1,3,4,2,相应的 S和 X的操作序列为_。 A.SXSXSSXX B.SSSXXSXX C.SXSSXXSX D.SXSSXSXX(分数:1.00)A.B.C.D. 解析:解析 此题可以用排除法来解决。由选项 A、B、C 所得出的栈序列分别为(1,2,4,3)、(3,2,4,1)、(1,3,
19、2,4),可以看出都是错误的。选项 D得到的出栈序列为 1,3,4,2。3.已知一个栈的进栈序列为 1,2,3,n,其输出序列的第一个元素是 i,则第 j个出栈元素是_。 A.j-i B.n-i C.j-i+1 D.不确定(分数:1.00)A.B.C.D. 解析:解析 i 出栈时,1,2,i-l 都在栈内,之后的过程中还可能有 i之后的元素进栈,但究竟第j个出栈元素是哪个,不能确定。4.已知一个栈的进栈序列为 1,2,3,n,其输出序列是 p1,p 2,p 3,p n。若 p1=3,则 p2的值_。 A.一定是 2 B.一定是 1 C.可能是 1 D.可能是 2(分数:1.00)A.B.C.D
20、. 解析:解析 元素 3第一个出栈时,元素 1,2 一定在栈内,下一个出栈的元素是 2,不可能是 1。当然还可以是元素 2暂时不出栈,元素 4,5,进栈。5.已知一个栈的进栈序列为 p1,p 2,p 3,p n,其输出序列是 1,2,3,n。若 p3=1,则 p1的值_。 A.一定是 2 B.可能是 2 C.不可能是 2 D.一定是 3(分数:1.00)A.B.C. D.解析:解析 p 3=1,输入序列为 p1,p 2,1,p 4,因为 p3=1,所以 p3出栈前,p 1,p 2必在栈中。若 p1出栈,则 p2必先于 p1出栈,因此 p1不可能为 2。6.以下有关顺序栈的操作中,正确的是_。
21、A.n个元素进入一个栈后,它们的出栈顺序一定与进栈顺序相反(一次性进栈完毕后再出栈) B.若一个栈的存储空间为 Sn,则对栈的进栈和出栈操作最多只能执行 n次 C.栈是一种对进栈和出栈操作的次序做了限制的线性表 D.空栈没有栈顶指针(分数:1.00)A. B.C.D.解析:解析 对于选项 A,n 个元素进栈后,出栈顺序必然与进栈的顺序相反,因此选项 A正确;对于选项 B,如果某元素进栈后很快又出栈,则进栈和出栈操作可以多于 n次;对于选项 C,栈并未对进栈和出栈次序做限制,而仅仅对进栈和出栈的位置做了限制;对于选项 D,栈顶指针属于栈结构的一个分量,不会由于栈的状态变化而消失。7.在实现顺序栈
22、的操作时,在进栈之前应先判断栈是否_,在出栈之前应先判断是否空。 A.空 B.满 C.上溢 D.下溢(分数:1.00)A.B. C.D.解析:解析 在元素进栈之前先判断栈是否已满,栈满再进栈就会发生上溢。出栈之前先判断栈是否为空,如果栈已空再出栈就会发生下溢。8.设链式栈中结点的结构为(data,link),且 top是指向栈顶的指针。若想在链式栈的栈顶插入一个由指针 s所指的结点,则应执行的操作是_。 A.toplink=S; B.Slink=top+link;toplink=s; C.slink=top;top=s; D.slink=top;top=toplink;(分数:1.00)A.B
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机 学科专业 基础 综合 数据结构 队列 数组 答案 解析 DOC
