计算机考研数据结构统考历年真题2009-2015

计算机考研数据结构统考历年真题2009-2015
计算机考研数据结构统考历年真题2009-2015

目前刚整理了2009-2015的试题过几天2016的也会上传上去

希望对你有帮助。。。。。。。

2009

1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是

A.栈

B.队列

C.树

D.图

2.设栈S和队列Q的初始状态均为空,元素abcdefg依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是bdcfeag,则栈S的容量至少是A.1 B.2 C.3 D.4

3.给定二叉树图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列为3,1,7,5,6,2,4,则其遍历方式是A.LRN B.NRL C.RLN D.RNL

4.下列二叉排序树中,满足平衡二叉树定义的是

5.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最多是

A.39 B.52 C.111 D.119

6.将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u和v可能具有的关系是I.父子关系II.兄弟关系III.u的父结点与v的父结点是兄弟关系

A.只有II

B.I和II

C.I和III

D.I、II和III

7.下列关于无向连通图特性的叙述中,正确的是

I.所有顶点的度之和为偶数II.边数大于顶点个数减1 III.至少有一个顶点的度为1

A.只有I

B.只有II

C.I和II

D.I和III

8.下列叙述中,不符合m阶B树定义要求的是

A.根节点最多有m棵子树 B.所有叶结点都在同一层上

C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接

9.已知关键序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后得到的小根堆是

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

10.若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是

A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序

41.(10分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假定从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:

①设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点;

②选择离u最近且尚未在最短路径中的一个顶点v,加入到最短路径中,修改当前顶点u=v;

③重复步骤②,直到u是目标顶点时为止。

请问上述方法能否求得最短路径?若该方法可行,请证明之;否则,请举例说明。

42.(15

假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:(1)描述算法的基本设计思想

(2)描述算法的详细实现步骤

(3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C++或JA V A语言实现),关键之处请给出简要注释。

2010

1、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行。但不允许连续三次进行退栈工作,则不可能得到的出栈序列是()

A:dcebfa B:cbdaef C:dbcaef D:afedcb

2、某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则不可能得到的顺序是()

A:bacde B:dbace C:dbcae D:ecbad

3、下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是()

data link

4、在下列所示的平衡二叉树中插入关键字48后得到一棵新平衡二叉树,在新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是()

A:13,48 B:24,48 C:24,53 D:24,90

5、在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶节点个数是()A:41 B:82 C:113 D:122

6、对n(n大于等于2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是()

A:该树一定是一棵完全二叉树

B:树中一定没有度为1的结点

C:树中两个权值最小的结点一定是兄弟结点

D:树中任一非叶结点的权值一定不小于下一任一结点的权值

7、若无向图G-(V.E)中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是()

A:6 B:15 C:16 D:21

8、对下图进行拓补排序,可以得到不同的拓补序列的个数是()

a

b

c

d e

A:4 B:3 C:2 D:1

9、已知一个长度为16的顺序表L,其元素按关键字有序排列,若采用折半查找法查找一个不存在的元素,则比较次数最多是()

A:4 B:5 C:6 D:7

10、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是()

A:递归次数与初始数据的排列次序无关

B:每次划分后,先处理较长的分区可以减少递归次数

C:每次划分后,先处理较短的分区可以减少递归次数

D:递归次数与每次划分后得到的分区处理顺序无关

11、对一组数据(2,12,16,88,5,10)进行排序,若前三趟排序结果如下()

第一趟:2,12,16,5,10,88

第二趟:2,12,5,10,16,88

第三趟:2,5,10,12,16,88

则采用的排序方法可能是:

A:起泡排序 B:希尔排序 C:归并排序 D:基数排序

41.(10分)将关键字序列(7、8、11、18、9、14)散列存储到散列列表中,散列表的存储空间是一个下标从0开始的一个一维数组散列函数维:H(key)=(key×3)MODT,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7 问题:(1)请画出所构造的散列表;

(2)分别计算等概率情况下,查找成功和查找不成功的平均查找长度。

42.(13分)设将n(n,1)个整数存放到一维数组R中,试设计一个在时间和空间两方面尽可能有效的算法,将R中保有的序列循环左移P(0﹤P﹤n)个位置,即将R中的数据由(X0X1……Xn-1)变换为(XpXp+1……Xn-1X0X1……Xp-1)要求:(1)给出算法的基本设计思想。

(2)根据设计思想,采用C或C++或JAVA语言表述算法关键之处给出注释。

(3)说明你所设计算法的时间复杂度和空间复杂度

2011

1.设n是描述问题规模的非负整数,下面程序片段的时间复杂度是

x = 2;

while ( x < n/2 )

x = 2*x;

A.O(log2n)

B.O(n)

C.O(n log2n)

D.O(n2)

2.元素a, b, c, d, e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是 A.3 B.4 C.5 D.6

3.已知循环队列存储在一维数组A[0..n-1] 中,且队列非空时front和rear 分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是

A.0, 0

B.0, n-1

C.n-1, 0

D.n-1, n-1

4.若一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是

A.257

B.258

C.384

D.385

5.若一棵二叉树的前序遍历序列和后序遍历序列分别为1, 2, 3, 4和4, 3, 2, 1,则该二叉树的中序遍历序列不会是

A.1, 2, 3, 4

B.2, 3, 4, 1

C.3, 2, 4, 1

D.4, 3, 2, 1

6.已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是

A.115

B.116

C.1895

D.1896

7.对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是

A.95, 22, 91, 24, 94, 71

B.92, 20, 91, 34, 88, 35

C.21, 89, 77, 29, 36, 38

D.12, 25, 71, 68, 33, 34

8.下列关于图的叙述中,正确的是

I. 回路是简单路径

II. 存储稀疏图,用邻接矩阵比邻接表更省空间

III.若有向图中存在拓扑序列,则该图不存在回路

A.仅II

B.仅I、II

C.仅III

D.仅I、III

9.为提高散列(Hash)表的查找效率,可以采取的正确措施是

I. 增大装填(载)因子

II. 设计冲突(碰撞)少的散列函数

III.处理冲突(碰撞)时避免产生聚集(堆积)现象

A.仅I

B.仅II

C.仅I、II

D.仅II、III

10.为实现快速排序算法,待排序序列宜采用的存储方式是

A.顺序存储

B.散列存储

C.链式存储

D.索引存储

11.已知序列25, 13, 10, 12, 9是大根堆,在序列尾部插入新元素18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是

A.1

B.2

C.4

D.5

41.(8分)已知有6个顶点(顶点编号为0 ~ 5)的有向带权图G,其邻接矩阵A为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。

要求:(1)写出图G的邻接矩阵A。

(2)画出有向带权图G。

(3)求图G的关键路径,并计算该关键路径的长度。

42.(15分)一个长度为L(L≥1)的升序序列S,处在第éL/2ù个位置的数称为S的中位数。例如,若序列S1=(11, 13, 15, 17, 19),则S1的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2, 4, 6, 8, 20),则S1和S2的中位数是11。现有两个等长升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。要求:(1)给出算法的基本设计思想。

(2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。

(3)说明你所设计算法的时间复杂度和空间复杂度。

2012

1、求整数n(n≥0)阶乘的算法如下,其时间复杂度是()

intfact(intn)

{if(n<=1)return1;

returnn*fact(n-1);

}

A.O(log2n)

B.O(n)

C.(nlog2n)

D.O(n2)

2、已知操作符包括‘+’、‘-’、‘*’、‘/’、‘(’和‘)’。将中缀表达式

a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-**-g+时,用栈来存放暂时还不能确定运算次序的操作符,若栈初始时为空,则转换过程中同时保存栈中的操作符的最大个数是()

A.5

B.7

C.8

D.11

3、若一颗二叉树的前序遍历序列为a,e,b,d,c,后续遍历序列为b,c,d,e,a,则根节点的孩子节点()

A.只有e

B.有e、b

C.有e、c

D.无法确定

4、若平衡二叉树的高度为6,且所有非叶节点的平衡因子均为1,则该平衡二叉树的节点总数为()

A.10

B.20

C.32

D.33

5、对有n个节点、e条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度()

A.O(n)

B.O(e)

C.O(n+e)

D.O(n*e)

6、若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结构是()

A.存在,且唯一

B.存在,且不唯一

C.存在,可能不唯一

D.无法确定是否存在

7、如下有向带权图,若采用迪杰斯特拉(Dijkstra)算法求源点a到其他各顶点的最短路径,得到的第一条最短路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是()

A.d,e,f

B.e,d,f

C.f,d,e

D.f,e,d

8、下列关于最小生成树的说法中,正确的是()

Ⅰ、最小生成树的代价唯一

Ⅱ、所有权值最小的边一定会出现在所有的最小生成树中

Ⅲ、使用普里姆(Prim)算法从不同顶点开始得到的最小生成树一定相同Ⅳ、使用普里姆算法和克鲁斯卡尔(Kruskal)算法得到的最小生成树总不相同

A.仅Ⅰ

B.仅Ⅱ

C.仅Ⅰ、Ⅲ

D.仅Ⅱ、Ⅳ

9、已知一棵3阶B-树,如下图所示。删除关键字78得到一棵新B-树,其最右叶结点中的关键字是()

A.60

B.60,62

C.62,65

D.65

10、在内部排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束都至少能够确定一个元素最终位置的方法是()

Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序

Ⅳ.堆排序Ⅴ.二路归并排序

A.仅Ⅰ、Ⅲ、Ⅳ

B.仅Ⅰ、Ⅲ、Ⅴ

C.仅Ⅱ、Ⅲ、Ⅳ

D.仅Ⅲ、Ⅳ、Ⅴ

11.对一待排序序列分别进行折半插入排序和直接插入排序,两者之间可能的不同之处是()

A.排序的总趟数

B.元素的移动次数

C.使用辅助空间的数量

D.元素之间的比较次数

二、问答题。

41、(10分)设有6个有序表A、B、C、D、E、F,分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列。要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最小。请回答下列问题。

(1)给出完整的合并过程,并求出最坏情况下比较的总次数。

(2)根据你的合并过程,描述N(N≥2)个不等长升序表的合并策略,并说明理由。

42、(13分)假定采用带头结点的单链表保存单词,当两个单词有相同的后时缀,则可共享相同的后缀存储空间,例如,“loaging”和“being”,如下图所示。

设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为(data,next),请设计一个时间上尽可能高效的算法,找出由str1和str2所指向两个链表共同后缀的起始位置(如图中字符i所在结点的位置p)。要求:(1)给出算法的基本设计思想。

(2)根据设计思想,采用C或C++或java语言描述算法关键之处给出注释。

(3)说明你所设计算法的时复杂度。

2013

1. 已知两个长度分别为m 和n 的升序链表,若将它们合并为一个长度为m+n 的降序链表,则最坏情况下的时间复杂度是

A. O(n)

B. O(m*n)

C. O(min(m,n))

D. O(max(m,n))

2. 一个栈的入栈序列为1, 2,3, ,n ,其出栈序列是p1, p2, p3, pn。若p2 = 3,则p3 可能取值的个数是:

A. n-3

B. n- 2

C. n-1

D. 无法确定

3. 若将关键字1,2,3,4,5,6,7 依次插入到初始为空的平衡二叉树T 中,则T 中平衡因子为0 的分支结点的个数是

A. 0

B. 1

C. 2

D. 3

4. 已知三叉树T 中6 个叶结点的权分别是2,3,4,5,6,7,T 的带权(外部)路径长度最小是

A. 27

B. 46

C. 54

D. 56

5. 若X 是后序线索二叉树中的叶结点,且X 存在左兄弟结点Y,则X 的右线索指向的是

A. X 的父结点

B. 以Y 为根的子树的最左下结点

C. X 的左兄弟结点Y

D. 以Y 为根的子树的最右下结点

6. 在任意一棵非空二叉排序树T1 中,删除某结点v 之后形成二叉排序树T2,再将v 插入T2 形成二叉排序树T3。下列关于T1 与T3 的叙述中,正确

的是

I. 若v 是T1 的叶结点,则T1 与T3 不同

II. 若v 是T1 的叶结点,则T1 与T3 相同

III. 若v 不是T1 的叶结点,则T1 与T3 不同

IV. 若v 不是T1 的叶结点,则T1 与T3 相同

A. 仅I、III

B. 仅I、IV

C. 仅II、III

D. 仅II、IV

7. 设图的邻接矩阵A 如下所示。各顶点的度依次是

A. 1,2,1,2

B. 2,2,1,1

C. 3,4,2,3

D. 4,4,2,2

8. 若对如下无向图进行遍历,则下列选项中,不是广度优先遍历序列的是

A. h,c,a,b,d,e,g,f

B. e,a,f,g,b,h,c,d

C. d,b,c,a,h,e,f,g

D. a,b,c,d,h,e,f,g

9、下列的AOE网表示一项包含8个活动的工程。通过同时加快若干活动的进度可以缩短整个工程的工期。下列选项中,加快其进度就可以缩短整个工程的工期的是:

A c和e

B d和e

C f 和d

D f和h

10、在一棵高为2 的5阶B树中,所含关键字的个数最少是

A 5

B 7

C 8 D14

A = ( 0,5,5,3,5,7,5,5 ),侧5为主元素;又如A = ( 0,5,5,3,5,1,5,7 ),则A 中没有主元素。假设A 中的n 个元素保存在一个一维数组中,请计一个尽可能高效的算法,找出A 的主元素。若存在主元素,则输出该元素;否则输出-1。要求:

(1)给出算法的基本设计思想。

(2)根据设计思想,采用C 或C++或Java 语言描述算法,关键之处给出释。

(3)说明你所设计算法的时间复杂度和空间复杂度。 42.(10分)设包含4个数据元素的集合S={ "do","for"," repeat"," while"},各元素查找概率依次为:p1=0.35,p 2 = 0.15,p3=0. 15,p4=0.35。将S 保存在一个长度为4的顺序表中,采用折半查找法,查找成功时的平均查找长度为2.2。请回答:

(1)若采用顺序存储结构保存S ,且要求平均查找长度更短,则元素应如何排列?应使用何种查找方法?查找成功时的平均查找长度是多少?

(2)若采用链式存储结构保存S ,且要求平均查找长度更短,则元素应如何排列?应使用何种查找方法?查找成功时的平均查找长度是多少?

2014

1. 下列程常段的时间复杂度是

count=0;

for(k=1;k<=n;k *=2)

for(j=1;j<=n;j+1)

count++;

A.O(log 2n)

B.O(n)

C.O(nlog 2n)

D.O(n 2)

2. 假设栈初始为空,将中缀表达式a ()

b c d e f g +*-*转换为等价后缀表达式的过程中,当扫描到f 时,栈中的元素依次是

A .(+*- B. (+-* C. (+*-* D. +-*

3. 循环两列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空,下列判断队空和队满的条件中,正确的是

A.队空:end1==end2; 队满:end1==(end2+1)modM

B.队空:end1==end2; 队满:end2==(end1+1)mod(M-1)

C.队空:end2==(end1+1)modM ; 队满:end1==(end2+1)modM

D.队空:end1==(end2+1)modM; 队满:end2==(end1+1)mod(M-1)

4. 若对如下的二叉树进行中序线索化,则结点x 的左、右线索指向的结点分别是

A.e,c

B.e,a

C.d,c

D.b,a

5. 将森林F 转换为对应的二叉树T ,F 中叶结点的个数等于

A.T 中叶结点的个数

B.T 中度为1的结点个数

C.T 中左孩子指针为空的结点个数

D.T 中右孩子指针为空的结点个数

6. 5个字符有如下4种编码方案,不是前缀编码的是

A.01,0000,0001,001,1

B.011,000,001,010,1

C.000,001,010,011,100

D.000,001,010,011,100

7. 对如下所示的有向图进行拓扑排序,得到的拓扑序列可能是

A.3,1,2,4,5,6

B.3,1,2,4,6,5

C.3,1,4,2,5,6

D.3,1,4,2,6,5

8. 用哈希(散列)方法处理冲突(碰撞)时可能出现堆积(聚集)现象,下列选项中,会受堆积现象直接影响的是

A.存储效率

B.数列函数

C.装填(装载)因子

D.平均查找长度

9.在一棵具有15个关键字的4阶B 树中,含关键字的结点数最多是

A.5

B.6

C.10

D.15

10. 用希尔排序方法对一个数据序列进行排序时,若第1趟排序结果为9,1,4,13,7,8,20,23,15,则该趟排序采用的增量(间隔)可能是

A.2

B.3

C.4

D.5

11. 下列选项中,不可能是快速排序第2趟排序结果的是

A.2,3,5,4,6,7,9

B.2,7,5,6,4,3,9

C.3,2,5,4,7,6,9

D.4,2,3,5,7,6,9

41.(13分)二叉树的带权路径长度(WPL )是二叉树中所有叶结点的带权路径长度之和,给定一棵二叉树T ,采用二叉链表存储,节点结构为:

left weight right

其中叶节点的weight域保存该结点的非负权值。设root为指向T的根节点的指针,设计求T的WPL的算法。要求:

(1)给出算法的基本设计思想;

(2)使用C或C++语言,给出二叉树结点的数据类型定义;

(3)根据设计思想,采用C或C++语言描述算法,关键之处给出注释。

2015

1.已知程序如下:

int s(int n) { return (n<=0) ? 0 : s(n-1) +n; }

void main() { cout<< s(1); }

程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是A.main()->S(1)->S(0) B.S(0)->S(1)->main()

C.main()->S(0)->S(1) D.S(1)->S(0)->main()

2.先序序列为a,b,c,d的不同二叉树的个数是

A.13 B.14 C.15 D.16

3.下列选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫曼树的是

A.24,10,5和24,10,7 B.24,10,5和24,12,7

C.24,10,10和24,14,11 D.24,10,5和24,14,6

4.现在有一颗无重复关键字的平衡二叉树(AVL树),对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中,正确的是

A.根节点的度一定为2 B.树中最小元素一定是叶节点

C.最后插入的元素一定是叶节点D.树中最大元素一定是无左子树

5.设有向图G=(V,E),顶点集V={V0,V1,V2,V3},边集E={,,},若从顶点V0 开始对图进行深度优先遍历,则可能得到的不同遍历序列个数是

A.2 B.3 C.4 D.5

6.求下面带权图的最小(代价)生

成树时,可能是克鲁斯卡(kruskal)算

法第二次选中但不是普里姆(Prim)算

法(从V4开始)第2次选中的边是

A.(V1,V3) B.(V1,V4)

C.(V2,V3) D.(V3,V4)

7.下列选项中,不能构成折半查找中关键字比较序列的是

A.500,200,450,180 B.500,450,200,180

C.180,500,200,450 D.180,200,500,450

8.已知字符串S为“abaabaabacacaabaabcc”.模式串t为“abaabc”,采用K M P算法进行匹配,第一次出现“失配”(s[i] != t[i]) 时,i=j=5,则下次开始匹配时,i和j的值分别是

A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=2

9.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是

A.直接插入排序B.起泡排序C.基数排序D.快速排序

10.已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比较数是

A.1 B.2 C.3 D.4

11.希尔排序的组内排序采用的是()

A.直接插入排序B.折半插入排序C.快速排序D.归并排序

41.用单链表保存m个整数,节点的结构为(data,link),且|data|

例如若给定的单链表head如下

删除节点后的head为

要求:(1) 给出算法的基本思想

(2) 使用c或c++语言,给出单链表节点的数据类型定义。

(3) 根据设计思想,采用c或c++语言描述算法,关键之处给出注释。

(4) 说明所涉及算法的时间复杂度和空间复杂度。

42. 已知有5个顶点的图G如下图所示

请回答下列问题(1) 写出图G的邻接矩阵A(行、列下标从0开始)

(2) 求A2,矩阵A2中位于0行3列元素值的含义是什么?

(3) 若已知具有n(n>=2)个顶点的邻接矩阵为B则,Bm(2<=m<=n)非零元素的含义是什么?

P

计算机数据结构考研真题及其答案

第1章绪论 一、选择题 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 4.一个算法应该是()。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性D.A和C. 5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】 A.动态结构、静态结构 B.顺序结构、链式结构

大数据结构考研真题及其问题详解

一、选择题 1. 算法的计算量的大小称为计算的( B )。【邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(C),它必须具备(B)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【理工大学 1999 一、1(2分)【交通科技大学 1996 一、1( 4分)】 4.一个算法应该是( B )。【大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性D.A和C. 5. 下面关于算法说法错误的是( D )【理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是( C )【理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低4 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为( C )两大类。【交通科技大学 1996 一、4(2分)】 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是( D )。【北方交通大学 2000 二、1(2分)】 A.循环队列 B. 链表 C. 哈希表 D.栈

哈尔滨工程大学-考研数据结构真题-12_

哈尔滨工程大学-考研数据结构真题-12_ 哈尔滨工程大学试卷考试科目: 数据结构A 卷题号一二三四五总分分数评卷人一、单项选择题(每空1分,共15分)1、以下数据结构中,从逻辑结构看,()和其他数据结构不同。 A.树B.字符串C.队列D.栈2、对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 3、有六个元素A,B,C,D,E,F的顺序进栈,()不是合法的出栈序列。 A.DEFCBA B.EDCBFA C.EFDBCA D.EDCFBA 4、字符串“ABCDEF”的子串有()个。 A.19 B.20 C.21 D.22 5、顺序表中插入一个元素,需要平均移动的元素个数为()。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n-1 6、非空的单循环链表head 的尾结点(由P所指向)满足()。 A.p-next ==NULL B.p==NULL C.p-next==head D.p==head 7、若A是中序线索二叉树中的一个结点,且A不为根,则A的前驱为( )。 A.A的右子树中最右的结点B.A的左子树中最左的结点C.A 的右子树中最左的结点D.A的左子树中最右的结点8、如某二叉树有30个叶子结点,有20个结点仅有一个孩子,则该二叉树中有两个孩子的结点数为()。 A.29 B.30 C.31 D.19 9、二维数组A的每个元素是由8个字符组成的串,其行下标i=0,1,…,9,列下标j=1,2,…,10。若A按行序为主序存储,元素A的起始地址与当A按列序为主序存储时的元素()的起始地址相同(设每个字符占一个字节)。 A.A B.A C.A D.A 10、图的深度优先遍历算法类似于二叉树的()。

2017年北京邮电大学数据结构考研题

2017年北京邮电大学数据结构考研题 一、选择 1、在数据结构中,与计算机无关的数据称为___________;单链表是一种______存储结构 的线性表,适合于______查找。 2、二叉树最常用的__________是二叉链表。 3、一棵二叉树的前序遍历是FCABED,中序遍历是ACBFED,则后序遍历是_________。 4、设树的度为5,其中度为1~5的结点数分别为6、 5、4、3、2个,则该树共有_______ 个叶子。 5、11个顶点的无向图,最多能有_______条边。 6、某索引顺序表共有元素275个,平均分成5块。若先对索引表采用顺序查找,再对块 中元素进行顺序查找,则等概率情况下,分块查找成功的平均查找长度是________。 7、交换排序适用于________存储结构的表。 8、由A~F六个字母构成的堆序列是______ (1) 9 (2) 28 (3) 31 (4) 36 (5) 50 (6) 51 (7) 55 (8) 110 (9) 138 (10) 逻辑结构(11) 存储结构(12) 顺序 (13) 链式(14) DBCAEF (15) ABCDEF (16) ABCEDF (17) BACDEF 二、判断 1、抽象数据类型与计算机内部表示和实现无关; 2、线性表的插入和删除总是伴随着大量数据的移动; 3、队列在程序调用是必不可少,因此递归离不开队列; 4、字符串’aababaaaba’的改进函数nextval数组值是0020200320; 5、二叉树中有双子女的父结点,在中序遍历中后继一定是其中一个子女结点; 6、不用递归就不能实现二叉树的前序遍历; 7、若有向图有n个顶点,则其强连通分量最多有n个; 8、平衡二叉树一定是一棵完全二叉树; 9、若某内部排序算法不稳定,则该算法没有使用价值; 10、倒排文件的目的是为了多关键字查找; 三、已知一组关键字为(112,213,305,46,57,86,72,162,95),用散列表函数H(k)=k%10将它们散列到表HT(0..9)中,用线性探测法H(k),H(k)+1,……,H(k)-1解决冲突,画出最后的散列表,并计算产生冲突的次数。 四、简述Prim和Kruskal算法求最小生成树的算法思想,分析他们的时间复杂度及分别适用于什么样的网 五、算法 1、阅读下面的程序,根据输入写出输出结果 #include “iostream.h” viod swap(int &x, int &y) {

历年《数据结构》考研真题及解答

《数据结构》考研真题及解答

目录 2009 年试题 (1) 填空题 (1) 解答题 (2) 2010 年试题 (2) 填空题 (2) 解答题 (4) 2011 年试题 (4) 填空题 (4) 解答题 (5) 2012 年试题 (6) 填空题 (6) 解答题 (7) 2013 年试题 (8) 填空题 (8) 解答题 (9) 2014 年试题 (10) 填空题 (10) 解答题 (11) 2015 年试题 (12) 填空题 (12) 解答题 (14)

2009 年试题 填空题 1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要 输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是 A.栈 B.队列 C.树 D.图 2.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S。若每个元素出栈后立即 进入队列 Q,且7 个元素出队的顺序是 bdcfeag,则栈 S 的容量至少是 A.1 B.2 C.3 D.4 3.给定二叉树图所示。设 N 代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。 若遍历后的结点序列为 3,1,7,5,6,2,4,则其遍历方式是 A.LRN B.NRL C.RLN D.RNL 4.下列二叉排序树中,满足平衡二叉树定义的是 5.已知一棵完全二叉树的第 6 层(设根为第 1 层)有8 个叶结点,则完全二叉树的结点个数 最多是 A.39 B.52 C.111 D.119 6.将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原 来的森林中,u 和v 可能具有的关系是I.父子关系II.兄弟关系III.u 的父结点与v 的父结点是兄弟关系 A.只有II B.I 和II C.I 和III D.I、II 和III 7.下列关于无向连通图特性的叙述中,正确的是 I.所有顶点的度之和为偶数II.边数大于顶点个数减1 III.至少有一个顶点的度为1

2019年广东暨南大学数据结构考研真题

2019年广东暨南大学数据结构考研真题 一、单项选择题(每题2分,共30分) 1.在任意一棵二叉树的先序序列和后序序列中,各叶子之间的相对次序关系()。 A.不一定相同 B.互为逆序 C.都不相同 D.都相同 2.深度为4的二叉树至多有结点数为()。 A.18 B.14 C.15 D.16 3.在一个具有n个顶点的有向图中,若所有顶点的入度数之和为m,则所有顶点的度数之和为()。 A.m B.m-1 C.m+1 D.2m 4.快速排序在()情况下最不利于发挥其长处。 A.被排序的数据量太大. B.被排序数据中含有多个相同的关键字 C.被排序的数据完全无序 D.被排序的数据已基本有序 5.一组记录的关键字为(45,80,55,40,42,85),则利用堆排序的方法建立的初始堆为()。 A.(80,45,55,40,42,85) B.(85,80,55,40,42,45) C.(85,80,55,45,42,40) D.(85,55,80,42,45,40) 6.对有18个元素的有序表(下标为1~18)作折半查找,则查找A[3]的比较序列的下标为()。 A.1,2,3 B.9,5,2,3 C.9,5,3 D.9,4,2,3 7.具有n个顶点的完全有向图的边数为()。 A.n(n-1)/2 B.n(n-1) C.n2 D.n2-1 8.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行()。 A.4次 B.5次 C.3次 D.2次 9.判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用()。

北京理工大学数据结构考研例题解析9

本资料由理硕教育整理,理硕教育是全国唯一专注于北理工考研辅导的学校,相对于其它机构理硕教育有得天独厚的优势。丰富的理工内部资料资源与人力资源确保每个学员都受益匪浅,确保理硕教育的学员初试通过率89%以上,复试通过率接近100%,理硕教育现开设初试专业课VIP一对一,初试专业课网络小班,假期集训营,复试VIP一对一辅导,复试网络小班,考前专业课网络小班,满足学员不同的需求。因为专一所以专业,理硕教育助您圆北理之梦。详情请查阅理硕教育官网 第 9 章索引技术 课后习题讲解 1. 填空题 ⑴在索引表中,每个索引项至少包含()和()等信息 【解答】关键码,关键码对应的记录在存储器中的位置 ⑵在线性索引中,()称为稠密索引 【解答】若文件中的每个记录对应一个索引项 ⑶分块有序是指将文件划分为若干块,()无序,()有序。 【解答】块内,块间 ⑷在分块查找方法中,首先查找(),然后查找相应的()。 【解答】索引表,块 ⑸在10阶B—树中根结点所包含的关键码个数最多为(),最少为()。 【解答】9,1 【分析】m阶的B-树中每个结点至多有m棵子树,若根结点不是终端结点,则至少有两棵子树,每个结点中关键码的个数为子树的个数减1。 ⑹一棵5阶B—树中,除根结点外,每个结点的子树树目最少为(),最多为()。【解答】3,5 【分析】m阶的B-树中每个结点至多有m棵子树,除根结点之外的所有非终端结点至少有?m/2? 棵子树。 ⑺对于包含n个关键码的m阶B—树,其最小高度是(),最大高度是()。 【解答】[logm(n+1)], [logm/2(n+1)/2] ⑻在一棵B—树中删除关键码,若最终引起树根结点的合并,则新树比原树的高度()。【解答】减少1层

大学数据结构和程序设计考研真题考研资料笔记讲义[001]

天津大学数据结构和程序设计考研真题-考研资料-笔记讲义许多学生在考研复习的时候,都会遇到重点不明确,不知道从何复习的情况。为此,研途宝考研网建议,考研复习中,专业的考研复习资料,是帮助考生能够快速掌握复习重点及方法必不可少的因素,然后就是真题和讲义,可以让同学了解历年考研的出题方向和大致范围。研途宝考研网推出了天津大学数据结构和程序设计的考研复习资料及真题解析班,以下为详细介绍: 天津大学数据结构和程序设计考研真题等资料由研途宝考研网签约的天津大学计算机科学与技术学院高分考研学生历时近一月所作,该考生在考研中取得了专业课129分的好成绩并在复试中更胜一筹,该资料包含该优秀本校考生的考研经验、考研试题解题思路分析、复试流程经验介绍以及针对官方指定参考书的重难要点并根据天津大学本科授课重点整理等,从漫漫初试长路到紧张复试亮剑为各位研友提供全程考研指导攻关。 特别说明:此科目06年以前科目名称为数据结构;自06年到08年科目名称改为计算机基础(包含数据结构、程序设计、计算机原理);自09年开始全国统考,科目名称为计算机学科专业基础综合;自20XX年开始由学校自主命题,科目名称改为901数据结构与程序设计。 第一部分由研途宝考研网提供的核心复习资料: 天津大学数据结构和程序设计资料编者序言:本文的重点在于C++,数据结构的复习和复试基本情况介绍。C++、数据结构又分别从复习规划,复习用书,重点知识点结合历年考题这四个方面来展开的。复习规划大家务必看一下,然后根据自己的实际情况在制定自己的复习时间,因为内容很多,大多数同学都在考试之前复习不完,在心理因素上就落了一节。重点知识点一定要看了,这些知识点几乎每年都会有题了。另外我还给了历年试题的答案供大家参考。有的答案是自己做的答案,可能会有疏忽的地方。望大家提出宝贵的意见和建议。复试的东西现在了解一下即可,等到进复试了,还是有足够的时间看的。另外我还给了些自己复习心得。考完后感慨很多,回顾了这多半年来自己的成败得失。希望大家从一开始就沿着比较高效的方向前进,减少不必要时间的浪费。本资料格式为A4纸打印版,总量达到了130页共计50000余字,清晰易复习,已于编写者签订资料保真转让协议,各位研友可放心使用参考!特别提示:本站尽力保证资料的有用性,但由于个人复习态度进度不同,故请酌情参考本资料! 天津大学数据结构和程序设计考研真题等资料目录 一、学院专业综述 二、近年来的录取情况及分数线 三、05、06年专业课试题的变化及其今后的趋势 四、复习策略和复习时间的统筹安排及所需要的辅助资料 五、C++和数据结构复习规划及复习侧重点(特别是05,06年的变化) 5七、复习经验与教训(学习生活心理诸方面) 八、关于数学和政治复习的小小的建议 九、计算机复试 十、附言 第二部分由研途宝考研网提供的考研真题及答案: 1、天津大学901数据结构与程序设计1996-20XX、20XX年考研真题(市场独家最全,全国独家推出,其中20XX年考研真题为考场完整版,由特约考生考场记录并整理提供,其余均为原版试卷,掌握最新试题动向先人一步),众所周知天大出题重复率高,一般多年的试题就是一个小题库,所以历年试题一定要仔细研究,通过多年试卷可总结出出题重点及思路;

哈尔滨工业大学数据结构考研试题及答案

哈尔滨工业大学数据结构考研试题及答案 哈尔滨工业大学2000年数据结构考研试题 一. 名词解释:(12分) 1.抽象数据类型; 2.算法的时间复杂性; 3.散列法(hashing); 4.索引文件。 二.填空:(12分) 1.在单链表中设置头结点的作用是_________________________________。 2.n个顶点的连通无向图,其边的条数至少为________________________。 3.线索二元树的左线索指向其_______________,右线索指向其____________。 4.树在计算机内的表示方式有___________,_____________,________________。 5.排序(sorting)有哪几种方法_______________,_____________,____________,_____________,____________。 三.判断下列叙述是否正确,若你认为正确,请画“√”,否则画“×”。 1.存在这样的二元树,对它采用任何次序的遍历,结果相同。( ) 2.二元树就是结点度为2的树。( ) 3.若连通图上各边权值均不相同,则该图的最小生成树是唯一的。() 4.无向图的邻接矩阵一定是对称矩阵,但有向图的邻接矩阵一定是非对称矩阵。() 5.完全二元树中,若一个结点没有左儿子,则必是树叶。( ) 四. 堆与二元查找树的区别?(6分) 五.快速分类法的基本思想是什么?(6分) 六.设F={T1,T2,T3}是森林,试画出所有对应的二元树,其森林如图所示:(6分) 七.依次读入数据元素序列{a,b,c,d,e,f,g}j进栈每进一个元素,机器可要求下一个元素进栈或弹栈,如此进行则栈空时弹出的元素构成的序列是以下那些序列?(8分) {d ,e,c,f,b,g,a}, {f,e,g,d,a,c,b} {e,f,d,g,b,c,a} {c,d,b,e,f,a,g} 八. 已知一个非空二元树,其按中根和后根遍历的结果分别为: 中根:C G B A H E D J F I 后根:G B C H E J I F D A

数据结构考研真题

数据结构考研真题及其答案

一、选择题 1. 算法的计算量的大小称为计算的( B )。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于(C )【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(C),它必须具备(B)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性

C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 4.一个算法应该是( B )。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性D.A和C. 5. 下面关于算法说法错误的是( D )【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错

误的 6. 下面说法错误的是( C )【南京 理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需 要任何额外的辅助空间 (2)在相同的规模n下,复杂度 O(n)的算法在时间上总是优于 复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别 越高,执行效率就越低4 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为 ( C )两大类。【武汉交通科技大学1996 一、4(2分)】 A.动态结构、静态结构 B.顺

数据结构考研真题和答案

、选择题 1. 算法的计算量的大小称为计算的( B )。【北京邮电大学 2000二、3 (20/8分)】 A. 效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于(C )【中科院计算所1998二、1 ( 2分)】 A .问题的规模 B. 待处理数据的初态 C. A 和B 3. 计算机算法指的是(C ),它必须具备(B ) (1) A .计算方法 B. 排序方法 D.调度方法 (2) A ?可执行性、可移植性、可扩充性 有穷性 全性 D. A 和 C. 5. 下面关于算法说法错误的是 (D )【南京理工大学 2000 一、1 (1.5 分)】 A. 算法最终必须由计算机程序实现 B. 为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是 错误的 6. 下面说法错误的是( C )【南京理工大学2000 一、2 (1.5分)】 (1 )算法原地工作的含 义是指不需要任何额外的辅助空间 (2) 在相同的规模n 下,复杂度O(n)的算法在时间上总是优于复杂度 O(2n )的算法 (3) 所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4) 同一个算法, 实现语言的级别越高,执行效率就越低 4 1 (2分)】 这三个特性。 C.解决问题的步骤序列 B .可执行性、确定性、 C.确定性、有穷性、稳定性 D. 易读性、稳定性、安 【南京理工大学 1 ( 4分)】 4.一个算法应该是( 1999 一、1 (2 分) B )。【中山大学 【武汉交通科技大学 1996 1998 二、1 (2 分)】 A .程序 B 问题求解步骤的描述 C ?要满足五个基本特性 A . (1) B.(1),(2) C. 7. 从逻辑上可以把数据结构分为 一、4 (2分)】 A .动态结构、静态结构 B C.线性结构、非线性结构 D &以下与数据的存储结构无关的术语是 (1),(4) D.(3) (C )两大类。【武汉交通科技大学1996 ?顺序结构、链式结构 .初等结构、构造型结构 (D )。【北方交通大学2000

相关文档
最新文档