考研《数据结构》严蔚敏C语言版配考研真题库
第一部分 考研真题精选
一、单项选择题
1若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。[计算机统考(408)2010年研]
【答案】D查看答案
【解析】4个选项所给序列的进、出栈操作序列分别为:
选项A:Push,Push,Push,Push,Pop,Pop,Push,Pop,Pop,Push,Pop,Pop
选项B:Push,Push,Push,Pop,Pop,Push,Pop,Pop,Push,Pop,Push,Pop
选项C:Push,Push,Pop,Push,Pop,Pop,Push,Push,Pop,Push,Pop,Pop
选项D:Push,Pop,Push,Push,Push,Push,Push,Pop,Pop,Pop,Pop,Pop
按照题目要求,不允许连续三次进行退栈操作,所以选项D所给序列为不可能得到的出栈顺序。
2若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b,c,d,e,a,则根结点的孩子结点( )。[计算机统考(408)2012年研]
A.只有e B.有e、b C.有e、c D.无法确定
【答案】A查看答案
【解析】由题目可知,若一棵二叉树的前序遍历序列为a,e,b,d,c,
后序遍历序列为b,c,d,e,a,其中a为这棵二叉树的根结点,接下来,在前序遍历的第二个结点为e,而后序遍历的倒数第二个结点为e,说明a的孩子结点只有e。
3循环队列放在一维数组A[0..M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空,下列判断队空和队满的条件中,正确的是( )。[计算机统考(408)2014年研]
A.队空:end1==end2;队满:end1==(end2+1)mod M B.队空:end1==end2;队满:end2==(end1+1)mod (M-1) C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod M D.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)
【答案】A查看答案
【解析】在循环队列中,在少用一个元素空间的前提下,可约定入队前,
测试尾指针在循环意义下加1后是否等于头指针,若相等,则队满。而队空的条件还是首尾指针是否相等。
4已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是( )。[计算机统考(408)2009年研] A.3,5,12,8,28,20,15,22,19 B.3,5,12,19,20,15,22,8,28 C.3,8,12,5,20,15,22,28,19 D.3,12,5,8,28,20,15,22,19
【答案】A查看答案
【解析】在堆中插入一个元素后,将不再满足堆的性质。为了使其成为新
堆,需要重新调整剩余元素的位置。具体过程如图(1)~(5)所示,(1)为原堆,(2)为插入3后,(3)、(4)为调整过程,(5)为调整后的小根堆。