搜档网
当前位置:搜档网 › 计算机数据结构今年考研真题及答案

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

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

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++或JAVA语言实现),关键之处请给出简要注释。

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、下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是()

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: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,p2=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(log2n)

B.O(n)

C.O(nlog2n)

D.O(n2)

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,采用二叉链表存储,节点结构为:

其中叶节点的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如下

数据结构-数据结构历年考题及答案2

中国矿业大学2011-2012学年 《数据结构》试卷(A卷)(考试时间:100分钟) 一. 填空(每空2分,共40分) 1. 数据结构式具有相同性质的数据元素的(1)。 2. 通常程序在调用另一个程序时,都需要使用一个(2)来保存被调用程序内分配的局部变量、形式参数的存储空间以及返回地址。 3. 有6行8列的二维数组A,每个元素用相邻的6个字节存储,存储器按字节编址,已知A的起始存储地址(基址)为1000,在行优先存储和列优先存贮情况下A[5,5]的存储地址分别为__(3)_____,_____(4)____。 4. 完全二叉树第4 个节点的父节点是第 (5) 节点,左孩子是第 (6) 个节点。如果该二叉树有10层,则共有 (7) 个节点。 5. 请描述在循环队列Q中,队头和队尾指针分别由front和rear表示,该队列有10个存储空间,判断队空和队满的条件分别分:_____(8)________,_______(9)_________。 6. 字符串t=”child”,s=”cake”,请写出下列函数的结果:StrLength(t) =(10)__;Concat(SubString(s,3,1),SubString(t,2,2))=____(11)___。 7. 一棵二叉树为 则后序序列为(12),中序序列为(13),先序序列为__(14)____。 8. 请用数据序列{53,17,12,66,58,70,87,25,56,60 }构造一棵二叉排序树_(15)_。 9.。一个栈输入的序列式1,2,3,则可能的且以2为开头的输出序列是 (16) ,不可能的序列是____(17)____。 10. 有n个结点的无向完全图的边数分别为_______(18)_______。 11. 要从数据:2,3,4,8,9,11,13查找11,若采用折半查找法,则在(19)次比较后,才找到该数据。 12. 在直接插入排序、希尔排序、冒泡排序和快速排序中,平均情况下(20)_____最快。 二简答题: 1给定{15,3,14,2,6,9,16,17},试为这8个数设计哈夫曼编码,并计算其带权路径长度。 2请对下图的无向带权图按克鲁斯卡尔算法求其最小生成树。(要求使用图画出每一步过程)。 C G E D F B H A

最新考研计算机数据结构模拟试题及答案(五)

考研计算机数据结构模拟试题及答案(五) 一、选择题(30分) 1. 设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为( )。 (A) 20 (B) 30 (C) 40 (D) 45 2.执行一趟快速排序能够得到的序列是( )。 (A) [41,12,34,45,27] 55 [72,63] (B) [45,34,12,41] 55 [72,63,27] (C) [63,12,34,45,27] 55 [41,72] (D) [12,27,45,41] 55 [34,63,72] 3.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是( )。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 4.时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是( )。 (A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序 5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是( )。 (A) 空或只有一个结点(B) 高度等于其结点数 (C) 任一结点无左孩子(D) 任一结点无右孩子 6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的

是( )。 (A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序 7.设某棵三叉树中有40个结点,则该三叉树的最小高度为( )。 (A) 3 (B) 4 (C) 5 (D) 6 8.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为( )。 (A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og2n) 9.二路归并排序的时间复杂度为( )。 (A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n) 10. 深度为k的完全二叉树中最少有( )个结点。 (A) 2k-1-1 (B) 2k-1 (C) 2k-1+1 (D) 2k-1 11.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为( )。 (A) front->next=s;front=s; (B) s->next=rear;rear=s; (C) rear->next=s;rear=s; (D) s->next=front;front=s; 12.设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为( )。 (A) O(n+e) (B) O(n2) (C) O(ne) (D) O(n3) 13.设某哈夫曼树中有199个结点,则该哈夫曼树中有( )个叶子结点。 (A) 99 (B) 100 (C) 101 (D) 102

2019年考研《计算机数据结构》考试试题

2019年考研《计算机数据结构》考试试题 一、选择题(24分) 1.下列程序段的时间复杂度为( )。 i=0,s=0; while (s (A) O(n1/2) (B) O(n1/3) (C) O(n) (D) O(n2) 2.设某链表中最常用的操作是在链表的尾部插入或删除元素,则 选用下列( )存储方式最节省运算时间。 (A) 单向链表(B) 单向循环链表 (C) 双向链表(D) 双向循环链表 3.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为( )。 (A) s->next=p->next;p->next=-s; (B) q->next=s; s->next=p; (C) p->next=s->next;s->next=p; (D) p->next=s;s->next=q; 4.设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( )。 (A) 5,3,4,6,1,2 (B) 3,2,5,6,4,1 (C) 3,1,2,5,4,6 (D) 1,5,4,6,2,3 5.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为( )。 (A) 10 (B) 19 (C) 28 (D) 55

6.设一棵m叉树中有N1个度数为1的结点,N2个度数为2的结点,……,Nm个度数为m的结点,则该树中共有( )个叶子结点。 (A) (B) (C) (D) 7. 二叉排序树中左子树上所有结点的值均( )根结点的值。 (A) < (B) > (C) = (D) != 8. 设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度 为( )。 (A) 129 (B) 219 (C) 189 (D) 229 9. 设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到HASH表中需要做( )次线性探测。 (A) n2 (B) n(n+1) (C) n(n+1)/2 (D) n(n-1)/2 10.设某棵二叉树中只有度数为0和度数为2的结点且度数为0的结点数为n,则这棵二叉中共有( )个结点。 (A) 2n (B) n+l (C) 2n-1 (D) 2n+l 11.设一组初始记录关键字的长度为8,则最多经过( )趟插入排序可以得到有序序列。 (A) 6 (B) 7 (C) 8 (D) 9 12.设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是( )。 (A) F,H,C,D,P,A,M,Q,R,S,Y,X (B) P,A,C,S,Q,D,F,X,R,H,M,Y

计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编6

计算机专业基础综合数据结构(栈和队列)历年真题试卷汇编6 (总分:60.00,做题时间:90分钟) 一、单项选择题(总题数:14,分数:28.00) 1.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。【2009年 全国试题1(2)分】 A.栈 B.队列√ C.树 D.图 2.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,j,g=g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( )。【2009年全国试题2(2)分】 A.1 B.2 C.3 √ D.4 按元素出队顺序计算栈的容量。b进栈时栈中有a,b出栈,cd进栈,栈中有acd,dc出栈,ef进栈,栈 中有aef,fea出栈,栈空,g进栈后出栈。所以栈S的容量至少是3。 3.若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。【2010年全国试题1(2)分】 A.d,c,e,b,f,a B.c,b,d,a,e,f C.b,c,a,e,f,d D.a,f,e,d,c,b √ 4.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a,b,c,d,e依次入此队列后再进行出队操作,则不可能得到的出队序列是( )。【2010年全国试题2(2)分】 A.b,a,c,d, e B.d,b,a,c,e C.d,b,c,a,e √ D.e,c,b,a,d a先入队,b和c可在a的任一端入队,选项A、B、D都符合要求,只有选项C不可能出现。双端队列出队结果的分析可参见四、36。 5.元素a,b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。【2011年全国试题2(2)分】 A.3 B.4 √ C.5 D.6 元素d进栈时,元素a,b,c已在栈中,d出栈后,P可以在a,b,c任一元素的前面进栈并出栈,也可以在元素a后出栈,c,b,a必须依次出栈,所以元素d开头的序列个数是4。 6.已知循环队列存储在一维数组A[0.n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是( )。[2011年全国试题3(2)分】 A.0,0 B.0,n—1 √ C.n一1,0

最新考研计算机数据结构模拟试题及答案(二)

考研计算机数据结构模拟试题及答案(二) 一、选择题(30分) 1.下列程序段的时间复杂度为( )。 for(i=0; i (A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n) 2.设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动( )个元素。 (A) n-i (B) n+l -i (C) n-1-i (D) i 3.设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为( )。 (A) N1-1 (B) N2-1 (C) N2+N3 (D) N1+N3 4.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为( )。 (A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(1og2n) 5.设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为( )。 (A) p->right=s; s->left=p; p->right->left=s; s->right=p->right; (B) s->left=p;s->right=p->right;p->right=s; p->right->left=s; (C) p->right=s; p->right->left=s; s->left=p; s->right=p->right; (D) s->left=p;s->right=p->right;p->right->left=s; p->right=s; 6.下列各种排序算法中平均时间复杂度为O(n2)是( )。

计算机考研数据结构试卷一(练习题含答案)

数据结构试卷1 一、单选题 1.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 2.用链接方式存储的队列,在进行插入运算时( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放 位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚 注(10)表示用10进制表示。 A.688 B.678 C.692 D.696 5.树最适合用来表示( )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 6.二叉树的第k层的结点数最多为( ). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中, 现进行二分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 n) D. O(n2) A. O(1) B. O(n) C. O(1og 2 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选 用H(K)=K %9作为散列函数,则散列地址为1的元素有()个, A.1 B.2 C.3 D.4 10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通 图。 A.5 B.6 C.7 D.8 二、填空题 1.通常从四个方面评价算法的质量:_________、_________、_________和 _________。 2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。 3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含 的结点数为__________个,树的深度为___________,树的度为_________。 4.后缀算式9 2 3 +- 10 2 / -的值为__________。中缀算式(3+4X)-2Y/3对应 的后缀算式为_______________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩 子的两个指针。在这种存储结构中,n个结点的二叉树共有________个指针

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编6

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编 6 (总分:88.00,做题时间:90分钟) 一、单项选择题(总题数:33,分数:66.00) 1.一棵完全二叉树又是一棵( )。【华中科技大学2006一、7(2分)】 A.平衡二叉树 B.堆√ C.二叉排序树 D.哈夫曼(Huffman)树 完全二叉树的叶子至多在下面两层上,且一个结点若无左子树,绝不能有右子树。平衡二叉树任何结点的左右子树的高度差的绝对值不超过1,但其结点的值符合二叉排序树的定义。平衡二叉树(包括二叉排序树)的树形不一定是完全二叉树。堆是一个序列,有大堆和小堆,编号为i的结点,其父结点、左右子女结点之间位置的关系,符合完全二叉树父结点、左右子女结点之间的关系,从这点上说,可以把堆看成完全二叉树。哈夫曼树是二叉树,但树形不一定满足完全二叉树的定义。 2.一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是( )。【合肥工业大学1999一、5(2分)】 A.不确定 B.0 C.1 D.2 √ 左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共2个空链域。 3.一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是( )。【合肥工业大学2000一、5(2分)】 A.0 B.1 √ C.2 D.不确定 4.若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为( )。【南京理工大学1996 一、6(2分)】 A.X的双亲 B.X的右子树中最左的结点 C.X的左子树中最右结点√ D.X的左子树中最右叶结点 5.引入二叉线索树的目的是( )。【南京理工大学1998一、5(2分)】 A.加快查找结点的前驱或后继的速度√ B.为了能在二叉树中方便地进行插入与删除 C.为了能方便地找到双亲 D.使二叉树的遍历结果唯一 6.线素二叉树是一种( )结构。【西安电子科技大学1996一、9(2分)】 A.逻辑 B.逻辑和存储 C.物理√ D.线性 7.甩个结点的线索二叉树上含有的线索数为( )。【中山大学1998二、8(2分)】

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

第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.顺序结构、链式结构

2018计算机考研:计算机数据结构测试题(九)

2018计算机考研:计算机数据结构测试题(九) 2018考研,计算机专业课考试科目为:计算机组成原理、数据结构、操作系统以及计算机网络等,需要大家记忆的知识点有很多,但是不能死机硬背,还是要理解为主的,融会贯通才能把题做好,拿到高分,小编就为大家分享计算机数据结构测试题及参考答案,希望计算机考研的考生在复习之余能够认真做题,巩固知识。 计算机数据结构测试题(九) 一、选择题(24分) 1.下面关于线性表的叙述错误的是( )。 (A) 线性表采用顺序存储必须占用一片连续的存储空间 (B) 线性表采用链式存储不必占用一片连续的存储空间 (C) 线性表采用链式存储便于插入和删除操作的实现 (D) 线性表采用顺序存储便于插入和删除操作的实现 2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。 (A) 2m-1 (B) 2m (C) 2m+1 (D) 4m 3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。 (A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M

4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。 (A) BADC (B) BCDA (C) CDAB (D) CBDA 5.设某完全无向图中有n个顶点,则该完全无向图中有( )条边。 (A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-1 6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。 (A) 9 (B) 10 (C) 11 (D) 12 7.设某有向图中有n个顶点,则该有向图对应的邻接表中有( )个表头结点。 (A) n-1 (B) n (C) n+1 (D) 2n-1 8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )。 (A) 2,3,5,8,6 (B) 3,2,5,8,6 (C) 3,2,5,6,8 (D) 2,3,6,5,8 二、填空题(24分) 1. 1. 为了能有效地应用HASH查找技术,必须解决的两个问题是 ____________________和__________________________。 2. 2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。 typedef struct {int s[100]; int top;} sqstack; void push(sqstack &stack,int x)

数据结构 考研真题精选

考研真题精选 一、选择题 1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。 A.(n-1)/2 B. n/2 C. (n+1)/2 D. n 2. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2 3.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为((1)),二分法查找只适用于查找顺序存储的有序表,平均比较次数为((2))。在此假定N为线性表中结点数,且每次查找都是成功的。 A.N+1 B.2log2N C.logN D.N/2 E.Nlog2N F.N2 4. 下面关于二分查找的叙述正确的是( ) A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列 B. 表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储 5. 对线性表进行二分查找时,要求线性表必须() A.以顺序方式存储 B.以顺序方式存储,且数据元素有序 C.以链接方式存储 D.以链接方式存储,且数据元素有序 6.适用于折半查找的表的存储方式及元素排列要求为( ) A.链接方式存储,元素无序B.链接方式存储,元素有序 C.顺序方式存储,元素无序D.顺序方式存储,元素有序 7. 用二分(对半)查找表的元素的速度比用顺序法( ) A.必然快 B. 必然慢 C. 相等 D. 不能确定 8.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( ) A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减 9. 具有12个关键字的有序表,折半查找的平均查找长度() A. 3.1 B. 4 C. 2.5 D. 5 10. 折半查找的时间复杂性为() A. O(n2) B. O(n) C. O(nlog n) D. O(log n) 11.当采用分快查找时,数据的组织方式为( ) A.数据分成若干块,每块内数据有序 B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 D. 数据分成若干块,每块(除最后一块外)中数据个数需相同 12. 二叉查找树的查找效率与二叉树的( (1))有关, 在((2))时其查找效率最低 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。 13. 要进行顺序查找,则线性表(1);要进行折半查询,则线性表(2);若表中元素个数为n,则顺序查找的平均比较次数为(3);折半查找的平均比较次数为(4)。 (1)(2):A. 必须以顺序方式存储;B. 必须以链式方式存储;C. 既可以以顺序方式存

计算机专业基础综合数据结构(概论)历年真题试卷汇编3

计算机专业基础综合数据结构(概论)历年真题试卷汇编3 (总分:70.00,做题时间:90分钟) 一、单项选择题(总题数:15,分数:30.00) 1.设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。【2011年全国硕士研究生入学计算机学科专业基础综合试题】简称【201 1年全国试题1(2分)】 x=2; while(x *x; (分数:2.00) A.O(log 2 n) √ B.O(n) C.O(nlog 2 n) D.O(n 2 ) 解析: 2.求整数n(n≥0)阶乘的算法如下,其时间复杂度是( )。【2012年全国试题1(2分)】int fact(int n){if(n<=i) return i;return n*fact(n一1); (分数:2.00) A.O(log 2 n) B.O(n) √ C.O(nlog 2 n) D.O(n 2 ) 解析: 3.已知两个长度分别为m和n的升序链表,若将它们合并为一个长度为m+n的降序链表,则最坏情况下的时间复杂度是( )。【2013年全国试题1(2)分】 (分数:2.00) A.O(n) B.O(m×n) C.O(min(m,n)) D.O(max(m,n)) √ 解析: 4.下列程序段的时间复杂度是( )。【2014年全国试题1(2分)】count=0;for(k=1;k<=n;k*=2)for(j=1;j<=n;j++)count++; (分数:2.00) A.O(log 2 n) B.O(n) C.O(nlog 2 n) √ D.O(n 2 ) 解析: 5.在数据结构中,数据的最小单位是( )。【北京理工大学2006九、1(1分)】 (分数:2.00) A.数据元素 B.字节 C.数据项√ D.结点 解析: 6.在数据结构中,数据的基本单位是( )。【北京理工大学2004五、1(1分)】 (分数:2.00) A.数据项 B.数据类型 C.数据元素√

数据结构研究生入学考试模拟题(一)

哈尔滨工业大学 二〇〇八年硕士研究生考试模拟试题(一) 考试科目:计算机专业基础 适用专业:计算机科学与技术 I 数据结构(含高级语言)部分(共75分) 一、填空题(每空1分,共9分) +?++的后缀表达式 1.表达式23((12*32)/434*5/7)108/9 是。 2.设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储:a11=1),则a85 的地址为。 3.设有广义表A=(((a,b),x),((a),(b)),(c,(d,(y)))),得到y的对广义表 A的操作序列为。 4.如果二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总节点数 为。 5.G是一个非连通无向图,共有28条边,则该图至少有个顶点。 6.构造n个结点的强联通图,至少有条弧。 7.设表长为1023的有序线性表,查找每个元素的概率相等,采用折半查找方法,查 找成功的ASL是。 8.分别采用堆排序、快速排序、冒泡排序和归并排序,对初太为有序的表,则最省时 间的是算法,最费时间的是算法。 二、单项选择题(每题1分,共11分) 1.静态链表中指针表示的是() A 下一元素的地址 B 内存储器的地址 C 下一元素在数组中的位置 D 左链或右链指向的元素的地址 2.计算算法的时间复杂度是属于一种() A 事前统计的方法 B 事前分析估算的方法 C 事后统计的方法 D 时候分析估算的方法 3.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3, 当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为() A 1和5 B 2和4 C 4和2 D 5和1 4.若6行5列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储 单元,则第3行第4列的元素(假定无第0行第0列)的地址是() A 1040 B 1042 C 1026 D 都不正确 5.一棵124个叶节点的完全二叉树,最多有()个节点。

信管专业考研计算机方向

一、数据结构 1.教材:《数据结构》严蔚敏清华大学出版社清华大学严蔚敏的这本数据结构的教材是国内数据结构教材的权威。也是国内使用最广,其广度远远超越其他同类教材,计算机考研专业课命题必定以它为蓝本。这一本数据结构是2007年的最新版本,完全适合任何学校的考研数据结构的复习之用,是数据结构学习最权威的教材。 2.辅导书:《算法与数据结构考研试题精析(第二版)》机械工业出版社网上广为流传的数据结构1800题相信只要是计算机考研的同学无人不知无人不晓。其实1800题是2001年推出来的,当时编者把电子版免费分享给大家,却很少有人知道它也有纸质版本就是《算法与数据结构考研试题精析》。第二版是2007年最新出版的,对里面的题目进行了大量的更新,去掉了一些比较过时和重复的题,加上了很多名校最近几年的考研真题,总共大约1650题左右。真题就是训练的最好武器,相信当你复习完这本数据结构辅导书后,任何关于数据结构的考题都是小菜一碟。 二、计算机组成原理 1.教材:《计算机组成原理》唐朔飞高等教育出版社《计算机组成原理》白中英科学出版社这两本教材都是普通高等教育十一五国家级规划教材,其权威性不言而喻,在国内是使用最广的两本教材,而前者应该略胜一筹。而且两位老师说教学的计算机组成原理课程都是国家级精品课程,网上甚至还有他们的讲课视频可以下载,再配合教材的使用,这样可以更加增强学习的效率。 2.辅导书:《计算机组成原理考研指导》徐爱萍清华大学出版社《计算机组成原理--学习指导与习题解答》唐朔飞高等教育出版社清华大学的这套辅导教材在广大的考生中有着极为优秀的口碑,特别是系列中的李春葆《数据结构考研辅导》在数据结构考研辅导资料中占据着数一数二的地位。这本辅导书通俗易懂,重点突出,特别适合于考研复习,特别是武汉

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

目前刚整理了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分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假定从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:

计算机考研数据结构真题汇总

一.选择题篇 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1)它必须具备(2)这三个特性。【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 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.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n2) D.O(log2n)

计算机专业基础综合数据结构(图)历年真题试卷汇编3

计算机专业基础综合数据结构(图)历年真题试卷汇编3 (总分:58.00,做题时间:90分钟) 一、综合题(总题数:23,分数:58.00) 1.给出从顶点v1开始,对图G用深度优先搜索法进行遍历时的顶点序列;(2)给出从顶v1,1开始,对图G用广度优先搜索法进行遍历时的顶点序列。【复旦大学1998六(10分)】 __________________________________________________________________________________________ 正确答案:(正确答案:(1)v 1 v 2 v 4 v 3 v 5 v 6 (2) v 1 v 2 v 3 v 4 v 5 v 6) 给出图G 4.00) (1).画出G的邻接表表示图; __________________________________________________________________________________________ 正确答案:( (2).根据你画出的邻接表,以顶点①为根,画出G的深度优先生成树和广度优先生成树。【南开大学1997五(14分)】【烟台大学2007四、3(15分)】 __________________________________________________________________________________________ 正确答案:( 2.已知一个有向图如图所示,则从顶点a出发进行深度优先遍历,写出所有可能得到的DFS 京交通大学2006四、4(5分)】 __________________________________________________________________________________________ 正确答案:(正确答案:共8个:adbcfe,adbfce,adcbfe,adcebf adcefb,adebcj,adebfc,adefbc) 2000计算机应用六(10分)】(分数:4.00) (1).如果每个指针需要4字节,每个顶点的标号占2字节,每条边的权值占2字节。下图采用哪种表示法所需的空间较多?为什么? __________________________________________________________________________________________ 正确答案:(正确答案:邻接矩阵:(6*6个元素)*2字节/元素=72字节邻接表:表头向量6*(4+2)+边结点9*(2+2+4)*2=180字节邻接多重表:表头向量6*(4+2)+边结点9*(2+2+2+4+4)=162字节邻接表占用空间较多,因为边较多,边结点又是边数的2倍,一般来说,邻接矩阵所占空间与边个数无关(不考虑压缩存储),适合存储稠密图,而邻接表适合存储稀疏图。邻接多重表边结点个数等于边数,但结点中增加了一个顶点下标域和一个指针域。) (2).写出下图从顶点1开始的:DFS树。 __________________________________________________________________________________________ 正确答案:(正确答案:因未确定存储结构,从顶点1开始的DFS 3.如下所示的连通图,请画出:(1)以顶点①为根的深度优先生成树;(5分)(2)如果有关节顶点,请找出 所有的关节顶点。(5分)【清华大学l 998七(10分)】 __________________________________________________________________________________________ 正确答案:(正确答案:(1)未确定存储结构,其DFS树不唯一,其中之一(按邻接点逆序排列) 关节顶点有3,1,8,7,2。)

全国硕士研究生入学统一考试计算机科学与技术学科联考数据结构考点归纳与典型题(含历年真题)详解-第一章

第1章绪论 1.1考点归纳 【考纲指定考点】 本章初步了解数据结构的基本概念。分析算法的时间复杂度和空间复杂度是本章的重点。 一、数据结构的基本概念 1.基础概念和术语 (1)数据(Data):数据是客观事物的符号表示。在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。 (2)数据元素(Data Element):数据元素是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理。 (3)数据项(Data Item):数据项是数据的不可分割的最小单位,数据项是对客观事物的某一方面的数据描述。一个数据元素可由若干个数据项(Data Item)组成。 (4)数据对象(Data Object):数据对象是性质相同的数据元素的集合,是数据的一个子集。如字符集合C={‘A’,‘B’,‘C’,…}。 (5)数据结构(Data Structure):数据结构是指相互之间存在一定联系(关系)的数据元素的集合。元素之间的相互联系(关系)称为逻辑结构。 2.数据结构的形式定义

数据结构的形式定义是一个二元组: Data Structure=(D,S) 其中D是数据元素的有限集,S是D上关系的有限集。 数据元素之间的关系可以是元素之间本身代表的某种自然关系,也可以是为了处理问题方便而人为定义的关系,这种自然或人为定义的关系称为数据元素之间的逻辑关系,相应的结构称为逻辑结构。 3.数据结构的组成 数据结构的三个组成部分: (1)逻辑结构 数据元素之间的逻辑关系的描述。数据元素之间的逻辑结构有四种基本类型: ①集合:结构中的数据除了“同属于一个集合”外,没有其它关系。 ②线性结构:结构中的数据元素之间存在一对一的关系。 ③树形结构:结构中的数据元素之间存在一对多的关系。 ④图形结构或网状结构:结构中的数据元素之间存在多对多的关系。 (2)存储结构 数据结构在计算机中的实际表达方式,它包括对数据元素的表示和对关系的表示。存储结构主要有:顺序存储、链式存储、索引存储和散列存储。 ①顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构。数据元素存放的地址是连续的。其优点是可以实现随机存取,存储空间小;缺点是只能使用相邻的一整块存储单元,容易产生碎片。 ②链式存储结构:在每一个数据元素中增加一个存放另一个元素地址的指针,用该指针

数据结构模拟考研冲刺三套卷

第一部分 1.在一个单链表中,已知指针p 指向其中的某个结点,若在该结点前插入一个由指针s 指向的结点,则需执行()。 A.s->next = p->next; p->next = s; B.p->next = s; s->next = p; C. r = p->next; p->next = s; s->next = r; D.仅靠已知条件无法实现 2.设顺序表长度为n,从表中删除元素的概率相等。则在平均情况下,从表中删除一个元素需要移动 的元素个数是()。 A.(n?1)/2 B.n/2 C.n(n ? 1)/2 D.n(n + 1)/2 3.在一个具有n 个单元的顺序栈中,假定以高端(即第n?1 单元)作为栈底,以top 为栈顶指针,则当作出栈运算时,top 变化为()。 A.top 不变 B.top = 0 C.top-- D.top ++ 4.若一个栈以向量V[n]存储,设栈空时,栈顶指针top 为n?1,则下面x 进栈的正确操作是()。 A.top = top + 1;V[top] = x B.V[top] = x;top = top + 1 C.top = top ? 1;V[top] = x D.V[top] = x;top = top ? 1 5.经过以下栈运算后,x 的值是()。 InitStack(s); Push(s, a); Push(s, b); Pop(s, x); Push(s, c); Pop(s, x); GetTop(s, x); A. a B.b C.c D.d 6.若一棵二叉树有126 个节点,在第7 层(根结点在第1 层)的结点个数至多有()。 A.32 B.64 C.63 D.不存在第7 层 7.具有n 个顶点的有向图的边最多有()。 A.n B.n(n?1) C.n(n+1) D.n2 8.设连通图G 的顶点数为n,则G 的生成树的边数为()。 A.n B.n?1 C.2n D.2n?1 9.散列查找中k 个关键字具有同一哈希值,若用线性探测法将这k 个关键字对应的记录存入哈希表中,至少要进行()次探测。 A.k B.k + 1 C.k(k + 1)/2 D.1 + k(k + 1)/2 10.一组记录的关键字为(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) 11. 假设某文件经内部排序得到100 个初始归并段,若要使多路归并三趟完成排序,则应取归并的路数至少为多少?()。 A.2 B.3 C.4 D.5 第二部分 1. 判断带头结点的线性链表L 是否为空的条件是()。 A.L.elem=NULL B.L.length = 0 C.L->next=NULL D.L = NULL 2. 设有多项式A 和B 的项数分别为m 和n ,均采用单链表表示,进行A 加B 运算的时间复杂度为()。 A.O(m )(当m>n 时) B.O(n)(当n>m 时) C.O(m + n) D.O(m *n) 3.若用一个大小为6 的数组来实现循环队列,且当前rear 和front 的值分别为0 和3。当从队列中删除一个元素,再加入两个元素后,rear 和front 的值分别为()。

相关主题