文档库 最新最全的文档下载
当前位置:文档库 › 计算机考研数据结构真题汇总

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

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

一.选择题篇

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)

12.程序段 FOR i:=n-1 DOWNTO 1 DO

FOR j:=1 TO i DO

IF A[j]>A[j+1]

THEN A[j]与A[j+1]对换;

其中 n为正整数,则最后一行的语句频度在最坏情况下是()【南京理工大学1998一、1(2分)】

A. O(n)

B. O(nlogn)

C. O(n3)

D. O(n2)

13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串

14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】

A.树 B.字符串 C.队 D.栈

15. 下列数据中,()是非线性数据结构。【北京理工大学 2001 六、1(2分)】

A.栈 B. 队列 C. 完全二叉树 D. 堆

16.连续存储设计时,存储单元的地址()。【中山大学 1999 一、1(1分)】A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续

17.以下属于逻辑结构的是()。【西安电子科技大学应用 2001一、1】

A.顺序表 B. 哈希表 C.有序表 D. 单链表

答案如下:

1.B

2.C

3.1C 3.2B

4.B

5.D

6.C

7.C

8.D

9.D 10.A 11.C

12.D 13.D 14.A 15.C 16.A 17.C

二、填空题篇

1.数据的物理结构包括__的表示和__的表示。【燕山大学 1998 一、1(2分)】

2. 对于给定的n个元素,可以构造出的逻辑结构有_(1)_,_(2)_,_(3)_,__(4)_四种。【中科院计算所 1999 二、1(4分)】

3.数据的逻辑结构是指__。【北京邮电大学 2001 二、1(2分)】

4.一个数据结构在计算机中__称为存储结构。【华中理工大学 2000 一、1(1分)】

5.抽象数据类型的定义仅取决于它的一组__(1)_,而与_(2)_无关,即不论其内部结构如何变化,只要它的_(3)_不变,都不影响其外部使用。【山东大学 2001 三、3(2分)】

6.数据结构中评价算法的两个重要指标是__【北京理工大学 2001 七、1(2分)】

7. 数据结构是研讨数据的_(1)_和_(2)_,以及它们之间的相互关系,并对与这种结构定义相应的_(3)_,设计出相应的(4)_。【西安电子科技大学 1998 二、2(3分)】

8.一个算法具有5个特性:_(1)_、_(2)_、_(3)_,有零个或多个输入、有一个或多个输出。【华中理工大学 2000 一、2(5分)】【燕山大学 1998 一、2(5分)】

9.已知如下程序段

FOR i:= n DOWNTO 1 DO {语句1}

BEGIN

x:=x+1; {语句2}

FOR j:=n DOWNTO i DO {语句3}

y:=y+1; {语句4}

END;

语句1执行的频度为_(1)_;语句2执行的频度为_(2)_;语句3执行的频度为_(3)_;语句4执行的频度为_(4)_。【北方交通大学 1999 二、4(5分)】

10.在下面的程序段中,对x的赋值语句的频度为______(表示为n的函数)

FOR i:=1 TO n DO

FOR j:=1TO i DO

FOR k:=1 TO j DO

x:=x+delta;

【北京工业大学 1999 一、6(2分)】

11.下面程序段中带下划线的语句的执行次数的数量级是:【合肥工业大学1999三、1(2分)】

i:=1; WHILE i

12. 下面程序段中带下划线的语句的执行次数的数量级是( )。【合肥工业大学 2000 三、1(2分)】

i:=1;

WHILE i

13. 下面程序段中带有下划线的语句的执行次数的数量级是( ) 【合肥工业大学 2001 三、1(2分)】

i:=n*n WHILE i<>1 DO i:=i div 2;

14. 计算机执行下面的语句时,语句s的执行次数为 _______ 。【南京理工大学2000二、1(1.5分)】

FOR(i=l;i

FOR(j=n;j>=i;j--)

s;

15. 下面程序段的时间复杂度为________。(n>1)

sum=1;

for (i=0;sum

16.设m.n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。例f(5,3)=5,有5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。

①以下是该函数的程序段,请将未完成的部分填入,使之完整

int f(m,n)

int m,n;

{ if(m==1)

return (1) ;

if(n==1){

return (2) ;}

if(m

{return f(m,m);}

if (m==n)

{return 1+ (3) ;}

return f(m.n-1)+f(m-n, (4) );

}

②执行程序,f(6,4)= 。【中科院软件所 1997 二、1 (9分)】

17. 在有n个选手参加的单循环赛中,总共将进行______场比赛。【合肥工业大学1999三、8(2分)】答案如下:

1.数据元素数据元素间关系

2.集合线性结构树形结构图状结构或网状结构。

3.数据的组织形式,即数据元素之间逻辑关系的总体。而逻辑关系是指数据元素之间的关联方式或称“邻接关系”。

4.表示(又称映像)。

5.(1)逻辑特性(2)在计算机内部如何表示和实现(3)数学特性。

6.算法的时间复杂度和空间复杂度。

7.(1)逻辑结构(2)物理结构(3)操作(运算)(4)算法。

8.(1)有穷性(2)确定性(3)可行性。

9.(1)n+1 (2)n (3)n(n+3)/2 (4)n(n+1)/2。

10.1+(1+2++(1+2+3)+…+(1+2+…+n)=n(n+1)(n+2)/6 O(n3)

11. log2n

12. nlog2n

13. log2n2

14. (n+3)(n-2)/2

16. ① (1)1 (2)1 (3)f(m,n-1) (4)n ② 9

17. n(n-1)/2

三、判断题篇

1. 数据元素是数据的最小单位。( )

【北京邮电大学 1998 一、1(2分)】【青岛大学 2000 一、1 (1分)】

【上海交通大学 1998 一、1】【山东师范大学 2001 一、1 (2分)】

2. 记录是数据处理的最小单位。 ( ) 【上海海运学院 1998 一、5(1分)】

3. 数据的逻辑结构是指数据的各数据项之间的逻辑关系;( )【北京邮电大学2002 一、1(1分)】4.算法的优劣与算法描述语言无关,但与所用计算机有关。( )【大连海事大学 2001 一、10(1分)】5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( )【大连海事大学 2001 一、11(1分)】6.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。( )【西安交通大学 1996 二、7(3分)】

7.程序一定是算法。( )【燕山大学 1998 二、2(2分)并改错】

8.数据的物理结构是指数据在计算机内的实际存储形式。( )【山东师范大学2001 一、2(2分)】9. 数据结构的抽象操作的定义与具体实现有关。( )【华南理工大学 2002 一、1(1分)】

1. ×

2. ×

3.×

4.×

5. √

6. ×

7. ×

8. √

9.×

10.×

11.×

12. √

13. ×

四、应用题篇

1. 数据结构是一门研究什么内容的学科?【燕山大学 1999 二、1 (4分)】

2. 数据元素之间的关系在计算机中有几种表示方法?各有什么特点?【燕山大学1999 二、2(4分)】

3. 数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么?使用抽象数据类型的主要好处是什么?【北京邮电大学 1994 一(8分)】

4. 回答问题(每题2分)【山东工业大学 1997 一(8分)】

(1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系?

(2)若逻辑结构相同但存储结构不同,则为不同的数据结构。这样的说法对吗?举例说明之。

(3)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,从而得到不同的数据结构。这样说法对吗?举例说明之。

(4)评价各种不同数据结构的标准是什么?

5.评价一个好的算法,您是从哪几方面来考虑的?【大连海事大学 1996 二、3 (2分)】【中山大学 1998 三、1 (5分)】

6.解释和比较以下各组概念【华南师范大学 2000 一(10分)】

(1)抽象数据类型及数据类型(2)数据结构、逻辑结构、存储结构

(3)抽象数据类型【哈尔滨工业大学 2000 一、1(3分)】

(4)算法的时间复杂性【河海大学 1998 一、2(3分)】

(5)算法【吉林工业大学1999 一、1(2分)】

(6)频度【吉林工业大学 1999 一、2(2分)】

7. 根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构?【北京科技大学 1998 一、1】【同济大学 1998】

8.对于一个数据结构,一般包括哪三个方面的讨论?【北京科技大学 1999 一、1(2分)】

9. 当你为解决某一问题而选择数据结构时,应从哪些方面考虑?【西安电子北京科技大学 2000】

10. 若将数据结构定义为一个二元组(D,R),说明符号D,R 应分别表示什么?【北京科技大学 2001 一、1(2分)】

11.数据结构与数据类型有什么区别?【哈尔滨工业大学 2001 三、1(3分)】

12.数据的存储结构由哪四种基本的存储方法实现?【山东科技大学 2001 一、1(4分)】

13.若有100个学生,每个学生有学号,姓名,平均成绩,采用什么样的数据结构最方便,写出这些结构?【山东师范大学 1996 二、2(2分)】

14. 运算是数据结构的一个重要方面。试举一例,说明两个数据结构的逻辑结构和存储方式完全相同,只是对于运算的定义不同。因而两个结构具有显著不同的特性,是两个不同的结构。【北京大学 1998一、1(5分)】

15. 在编制管理通讯录的程序时, 什么样的数据结构合适? 为什么?【长沙铁道学院1998四、3(6分)】

16. 试举一例,说明对相同的逻辑结构,同一种运算在不同的存储方式下实现,其运算效率不同。【北京理工大学 2000 三、1(4.5分)】

17. 有实现同一功能的两个算法A1和A2,其中A1的时间复杂度为Tl=O(2n),A2的时间复杂度为T2=O(n2),仅就时间复杂度而言,请具体分析这两个算法哪一个好。【北京航空航天大学 2000 二(10分)】18.设计一数据结构,用来表示某一银行储户的基本信息:账号、姓名、开户年月日、储蓄类型、存入累加数、利息、帐面总数。【浙江大学 1994 一、3(5分)】

19. 写出下面算法中带标号语句的频度。

TYPE ar=ARRAY[1..n] OF datatype;

PROCEDURE perm ( a: ar; k, n: integer);

VAR x: datatype; i:integer;

BEGIN

(1)IF k=n

THEN BEGIN

(2)FOR i:=1 TO n DO

(3)write (a[i]);

writeln;

END

ELSE BEGIN

(4) FOR i:=k TO n DO

(5)a[i]:=a[i]+i*i;

(6) perm (a, k+1, n);

END;

END;

设k的初值等于1。【北京邮电大学 1997二(10分)】

20. 分析下面程序段中循环语句的执行次数。

i:=0;s:=0;n:=100;

REPEAT

i:=i+1;

s:=s+10*i;

UNTIL NOT((i

21.下列算法对一n位二进制数加1,假如无溢出,该算法的最坏时间复杂性是什么?并分析它的平均时间复杂性。

TYPE num=ARRAY [1..n] of [0..1];

PROCEDURE Inc (VAR a:num);

VAR i:integer;

BEGIN i:=n

WHILE A[i]=1 DO

BEGIN A[i]:=0; i:=i-1;END;

END;

A[i]:=1;

END Inc;

【东南大学1998 三 (8分) 1994 二(15分)】

22. 阅读下列算法,指出算法A的功能和时间复杂性

PROCEDURE A (h,g:pointer);

(h,g分别为单循环链表(single linked circular list)中两个结点指针)

PROCEDURE B(s,q:pointer);

VAR p:pointer;

BEGIN

p:=s;

WHILE p^.next<>q DO p:=p^.next;

p^.next:=s;

END;(of B)

BEGIN

B(h,g); B(g,h);

END;(of A)

【东南大学 1999 二(10分)】

23. 调用下列C函数f(n)或PASACAL函数f(n) 回答下列问题 :

(1)试指出f(n)值的大小,并写出f(n) 值的推导过程;

(2)假定n= 5,试指出f(5)值的大小和执行f(5)时的输出结果。

C函数: int f(int n)

{ int i,j,k,sum= 0;

for(i=l; i

{for(j=n;j>i-1; j--)

for(k=1;k

sum++;

printf("sum=%d\n",sum);

}

return (sum);

} 【华中理工大学 2000 六(10分)】

24.设n是偶数,试计算运行下列程序段后m的值并给出该程序段的时间复杂度。

m:=0;

FOR i:=1 TO n DO

FOR j:=2*i TO n DO

m:=m+1;

【南京邮电大学 2000 一、1】

25.有下列运行时间函数:

(1)T1 (n)=1000; (2)T2(n)=n2+1000n; (3)T3(n)=3n3+100n2+n+1;

分别写出相应的大O表示的运算时间。【吉林工业大学 1999 二(12分)】

26. 试给出下面两个算法的运算时间。

(1) for i←1 to n do

x ← x+1

END

(2)for i← 1 to n do

for j←1 to n do

x← x+1

end

end【中科院自动化研究所 1995 二、2 (6分)】

27. 斐波那契数列Fn定义如下

F0=0, Fl=1, Fn=Fn-1+Fn-2, n=2,3...

请就此斐波那契数列,回答下列问题。

(1) (7分) 在递归计算Fn的时候,需要对较小的Fn-1,Fn-2,…, Fl, F0精确计算多少次?

(2) (5分) 如果用大O表示法,试给出递归计算Fn时递归函数的时间复杂度录多少?【清华大学 2000 二(12分)】

28.将下列函数,按它们在n→∝时的无穷大阶数,从小到大排序。

n, n-n3+7n5, nlogn, 2n/2, n3, logn, n1/2+logn, (3/2)n, ,n!, n2+logn【中科院计算所 1995 】

答案如下:

1.数据结构是一门研究在非数值计算的程序设计问题中,计算机的操作对象及对象间的关系和施加于对象的操作等的学科。

2.四种表示方法

(1)顺序存储方式。数据元素顺序存放,每个存储结点只含一个元素。存储位置反映数据元素间的逻辑关系。存储密度大,但有些操作(如插入、删除)效率较差。

(2)链式存储方式。每个存储结点除包含数据元素信息外还包含一组(至少一个)指针。指针反映数据元素间的逻辑关系。这种方式不要求存储空间连续,便于动态操作(如插入、删除等),但存储空间开销大(用于指针),另外不能折半查找等。

(3)索引存储方式。除数据元素存储在一地址连续的内存空间外,尚需建立一个索引表,索引表中索引指示存储结点的存储位置(下标)或存储区间端点(下标),兼有静态和动态特性。

(4)散列存储方式。通过散列函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将散列函数的值解释成关键字所在元素的存储地址,这种存储方式称为散列存储。其特点是存取速度快,只能按关键字随机存取,不能顺序存取,也不能折半存取。

3.数据类型是程序设计语言中的一个概念,它是一个值的集合和操作的集合。如C语言中的整型、实型、字符型等。整型值的范围(对具体机器都应有整数范围),其操作有加、减、乘、除、求余等。实际上数据类型是厂家提供给用户的已实现了的数据结构。“抽象数据类型(ADT)”指一个数学模型及定义在该模

型上的一组操作。“抽象”的意义在于数据类型的数学抽象特性。抽象数据类型的定义仅取决于它的逻辑特性,而与其在计算机内部如何表示和实现无关。无论其内部结构如何变化,只要它的数学特性不变就不影响它的外部使用。抽象数据类型和数据类型实质上是一个概念。此外,抽象数据类型的范围更广,它已不再局限于机器已定义和实现的数据类型,还包括用户在设计软件系统时自行定义的数据类型。使用抽象数据类型定义的软件模块含定义、表示和实现三部分,封装在一起,对用户透明(提供接口),而不必了解实现细节。抽象数据类型的出现使程序设计不再是“艺术”,而是向“科学”迈进了一步。

4.(1)数据的逻辑结构反映数据元素之间的逻辑关系(即数据元素之间的关联方式或“邻接关系”),数据的存储结构是数据结构在计算机中的表示,包括数据元素的表示及其关系的表示。数据的运算是对数据定义的一组操作,运算是定义在逻辑结构上的,和存储结构无关,而运算的实现则是依赖于存储结构。(2)逻辑结构相同但存储不同,可以是不同的数据结构。例如,线性表的逻辑结构属于线性结构,采用顺序存储结构为顺序表,而采用链式存储结构称为线性链表。

(3)栈和队列的逻辑结构相同,其存储表示也可相同(顺序存储和链式存储),但由于其运算集合不同而成为不同的数据结构。

(4)数据结构的评价非常复杂,可以考虑两个方面,一是所选数据结构是否准确、完整的刻划了问题的基本特征;二是是否容易实现(如对数据分解是否恰当;逻辑结构的选择是否适合于运算的功能,是否有利于运算的实现;基本运算的选择是否恰当。)

5.评价好的算法有四个方面。一是算法的正确性;二是算法的易读性;三是算法的健壮性;四是算法的时空效率(运行)。

6.(1)见上面题3

(2)见上面题4

(3)见上面题3

(4)算法的时间复杂性是算法输入规模的函数。算法的输入规模或问题的规模是作为该算法输入的数据所含数据元素的数目,或与此数目有关的其它参数。有时考虑算法在最坏情况下的时间复杂度或平均时间复杂度。

(5)算法是对特定问题求解步骤的描述,是指令的有限序列,其中每一条指令表示一个或多个操作。算法具有五个重要特性:有穷性、确定性、可行性、输入和输出。

(6)频度。在分析算法时间复杂度时,有时需要估算基本操作的原操作,它是执行次数最多的一个操作,该操作重复执行的次数称为频度。

7.集合、线性结构、树形结构、图形或网状结构。

8.逻辑结构、存储结构、操作(运算)。

9.通常考虑算法所需要的存储空间量和算法所需要的时间量。后者又涉及到四方面:程序运行时所需输入的数据总量,对源程序进行编译所需时间,计算机执行每条指令所需时间和程序中指令重复执行的次数。10.D是数据元素的有限集合,S是D上数据元素之间关系的有限集合。

11.“数据结构”这一术语有两种含义,一是作为一门课程的名称;二是作为一个科学的概念。作为科学概念,目前尚无公认定义,一般认为,讨论数据结构要包括三个方面,一是数据的逻辑结构,二是数据的存储结构,三是对数据进行的操作(运算)。而数据类型是值的集合和操作的集合,可以看作是已实现了的数据结构,后者是前者的一种简化情况。

12.见上面题2。

13.将学号、姓名、平均成绩看成一个记录(元素,含三个数据项),将100个这样的记录存于数组中。因一般无增删操作,故宜采用顺序存储。

typedef struct

{int num;//学号

char name[8];//姓名

float score;/平均成绩

}node;

node student[100];

14. 见上面题4(3)。

15.应从两方面进行讨论:如通讯录较少变动(如城市私人电话号码),主要用于查询,以顺序存储较方便,既能顺序查找也可随机查找;若通讯录经常有增删操作,用链式存储结构较为合适,将每个人的情况作为一个元素(即一个结点存放一个人),设姓名作关键字,链表安排成有序表,这样可提高查询速度。16.线性表中的插入、删除操作,在顺序存储方式下平均移动近一半的元素,时间复杂度为O(n);而在链式存储方式下,插入和删除时间复杂度都是O(1)。

17.对算法A1和A2的时间复杂度T1和T2取对数,得nlog2和2logn。显然,算法A2好于A1。

18. struct node

{int year,month,day; };

typedef struct

{int num;//帐号

char name[8];//姓名

struct node date;//开户年月日

int tag;//储蓄类型,如:0- 零存,1- 一年定期……

float put;//存入累加数;

float interest;//利息

float total;//帐面总数

}count;

19.(1)n (2)n+1 (3)n (4)(n+4)(n-1)/2 (5)(n+2)(n-1)/2 (6)n-1

这是一个递归调用,因k的初值为1,由语句(6)知,每次调用k增1,故第(1)语句执行n次。(2)是FOR循环语句,在满足(1)的条件下执行,该语句进入循环体(3)n次,加上最后一次判断出界,故执行了

n+1次。(4)也是循环语句,当k=1时判断n+1次(进入循环体(5)n次),k=2时判断n次,最后一次k=n-1时判断3次,故执行次数是(n+1)+n+…+3=(n+4)(n-1)/2次。语句(5)是(4)的循环体,每次比(4)少一次判断,故执行次数是n+(n-1)+…+2=(n+2)(n-1)/2次。注意分析时,不要把(2)分析成n次,更不是1次。20.4 (这时i=4, s=100) REPEAT语句先执行循环体,后判断条件,直到条件为真时退出循环。21.算法在最好情况下,即二进制数的最后一位为零时,只作一次判断,未执行循环体,赋值语句A[i]执行了一次;最坏情况出现在二进制数各位均为1(最高位为零,因题目假设无溢出),这时循环体执行了n-1次,时间复杂度是O(n),循环体平均执行n/2次,时间复杂度仍是O(n)。

22.该算法功能是将原单循环链表分解成两个单循环链表:其一包括结点h到结点g的前驱结点;另一个包括结点g到结点h的前驱结点。时间复杂度是O(n)。

23.第一层FOR循环判断n+1次,往下执行n次,第二层FOR执行次数为(n+(n-1)+(n-2)+…+1),第三层循环体受第一层循环和第二层循环的控制,其执行次数如下表:

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

考研计算机数据结构模拟试题及答案(五) 一、选择题(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

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

考研计算机数据结构模拟试题及答案(二) 一、选择题(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个结点的二叉树共有________个指针

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

第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. 既可以以顺序方式存

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

哈尔滨工业大学 二〇〇八年硕士研究生考试模拟试题(一) 考试科目:计算机专业基础 适用专业:计算机科学与技术 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.辅导书:《计算机组成原理考研指导》徐爱萍清华大学出版社《计算机组成原理--学习指导与习题解答》唐朔飞高等教育出版社清华大学的这套辅导教材在广大的考生中有着极为优秀的口碑,特别是系列中的李春葆《数据结构考研辅导》在数据结构考研辅导资料中占据着数一数二的地位。这本辅导书通俗易懂,重点突出,特别适合于考研复习,特别是武汉

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

一.选择题篇 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)

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

目前刚整理了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.在一个单链表中,已知指针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 的值分别为()。

数据结构考研模拟试题及详解(一)【圣才出品】

数据结构考研模拟试题及详解(一) 一、单项选择题(每小题2分,共20分) (1)设Huffman树的叶与节点数为m,则节点的点数为()。 A.2m B.2m-1 C.2m+l D.m+l 【答案】B 【解析】Huffman不存在一个分支的节点,对于任意的二叉树都有n0=n2+1,而n0=m,故推出Huffman的总结点数为m+m-1。 (2)若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素。 A.n B.n-1 C.n+l D.不确定 【答案】B 【解析】循环队列Q.rear==Q.front用来表示队列为空,而(Q.rear+1)%QueueMaxSize==Q.front来判断队列是否已满。也就是说循环队列需要一个额外的数据空间来表示循环队列已经存满的。所以最多只能存n-1。

(3)下述哪一条是顺序存储方式的优点?() A.存储密度大 B.插入和删除运算方便 C.获取符合某种条件的元素方便 D.查找运算速度快 【答案】A 【解析】因为顺序存储方式把分配给存储单元全用来存放结点数据,结点之间的逻辑关系没有占用额外的存储空间。所以相比链式存储方式同样大小的空间它可以存下更多的数据。 (4)设有一个二维数组A[m][n],假设A[0][0]存放位置在为 每个元素占一个空 间. A.658 B.648 C.633 D.653 【答案】D 【解析】根据二维数组地址计算公式LOC(A[i][j])=LOC(A[p][q])+((i?p)*n+(j?q))*t(t表示字节),把t=1、A[0][0]及A[3][3]代入得到n=25。故A[2][3]

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

共25套适用于计算机考研数据结构系统练习 (PS:其他正在整理,敬请期待) 数据结构试卷13 一、填空题 1、对于一个顺序存储的线性表,在表头插入元素的时间复杂度为____________,在表尾插入元素的时间复杂度为________________。 2、在稀疏距阵所对应的三元组线形表中,每个三元组元素按____________为主序,__________为辅序的次序排列。 3、中缀表达示3+X*(2.4/5-6)所对应的后缀表达示为______________。 4、在一棵高度为h的3叉树中,最多含有_______结点。 5、分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是__ __。 for (i=0;inext!=p) q=q->next; s= new Node; s->data=e; q->next= ; //填空 s->next= ; //填空 9、在一个单链表中删除p所指结点的后继结点时,应执行以下操作: q= p->next; p->next= _ ___; //填空 delete; //填空 10、两个串相等的充分必要条件是____。 二、选择题 1、以下数据结构中哪一个是线性结构?【】 A 有向图 B 队列 C 线索二叉树 D B树 2、在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下【】语句序列。 A p=q; p->next=q; B p->next=q; q->next=p; C p->next=q->next; p=q; D q->next=p->next; p->next=q; 3、【】不是队列的基本运算。 A 在队列第i个元素之后插入一个元素 B 从队头删除一个元素

考研计算机-数据结构模拟试题

计算机数据结构模拟试题(一) 一.单项选择题:1~40题,每小题2分共80分。在每小题给出的四个选项中,请选出一项最符合题目要求的。 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),则利用堆排序的方法建立的初始

严蔚敏《数据结构》(第2版)配套模拟试题及详解(一)【圣才出品】

严蔚敏《数据结构》(第2版)配套模拟试题及详解(一) 一、单项选择题(每小题2分,共20分) 1.设Huffman树的叶与节点数为m,则节点的点数为()。 A.2m B.2m-1 C.2m+1 D.m+1 【答案】B 【解析】Huffman不存在一个分支的节点,对于任意的二叉树都有n0=n2+1,而n0 =m,故推出Huffman的总结点数为m+m-1。 2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素。 A.n B.n-1 C.n+l D.不确定 【答案】B 【解析】循环队列Q.rear==Q.front用来表示队列为空,而 (Q.rear+1.%QueueMaxSize == Q.front来判断队列是否已满。也就是说循环队列需要一个额外的数据空间来表示循环队列已经存满的。所以最多只能存n-1。 3.下述哪一条是顺序存储方式的优点?() A.存储密度大B.插入和删除运算方便 C.获取符合某种条件的元素方便D.查找运算速度快 【答案】A 【解析】因为顺序存储方式把分配给存储单元全用来存放结点数据,结点之间的逻辑

数据。 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在为 每个元素占一个空间. A.658 B.648 C.633 D.653 【答案】D 【解析】根据二维数组地址计算公式LOC(A[i][j])= LOC(A[p][q])+ ((i ?p)* n + (j ? q))* t(t表示字节),把t=1、A[0][0]及 A[3][3]代入得到n = 25。故A[2][3] = A[0][0]+(2*25+3.*1 = 653。 5.下列关于二叉树遍历的叙述中,正确的是()。 A.若一个树叶是某二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序遍历最后一个节点 B.若一个节点是某二叉树的前序遍历最后一个节点,则它必是该二叉树的中序遍历的最后一个节点 C.若一个节点是菜二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序最后一个节点 D.若一个树叶是某二叉树的前序遍历的最后一个节点,则它必是该二叉树的中序遍历最后一个节点

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

一、选择题 1.算法的计算量的大小称为计算的(B)。【北京邮电大学2000二、3(20/8分)】 A.效率B.复杂性C.现实性D.难度 2.算法的时间复杂度取决于(C)【中科院计算所1998 二、1(2分)】 A.问题的规模B.待处理数据的初态和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(分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C.算法的可行性是指指令不能有二义性 D.以上几个都是错误的 6.下面说法错误的是(C)【南京理工大学2000一、2(分)】 (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.栈 9.以下数据结构中,哪一个是线性结构(D)【北方交通大学2001一、1(2分)】 A.广义表B.二叉树C.稀疏矩阵D.串 10.以下那一个术语与数据的存储结构无关(A)【北方交通大学2001一、2(2分)】

计算机考研数据结构复习重点归纳

计算机考研数据结构复习重点归纳计算机考研数据结构复习重点归纳 二叉树是数据结构中的重点内容,在这两年的考试中也将二叉树作为重点内容来考查。二叉树这部分内容要求大家掌握二叉树的定义、性质、存储结构、遍历、线索化、森林和二叉树的转换等内容。算法的重点是二叉树的遍历及其应用,这也是二叉树这部分的重点 和难点。遍历是二叉树各种操作的基础,可以在遍历过程中对结点 进行各种操作。例如:求二叉树结点总数,建立二叉树,建立二叉 树的存储结构等。二叉树的很多算法是在遍历算法基础上改造完成的,这就要求大家在复习时,熟练掌握二叉树遍历的递归和非递归 算法。 下面为大家介绍一下二叉树的几种遍历方法: 由二叉树的定义可知,一颗二叉树由根节点及左、右子树三个基本部分组成,因此,只要依次遍历这三部分,就可以遍历整个二叉树。 1.先序遍历 先序遍历的递归过程为:若二叉树为空,遍历结束。否则, (1)访问根节点; (2)先序遍历根节点的左子树; (3)先序遍历根节点的右子树。 2.中序遍历 中序遍历的递归过程为:若二叉树为空,遍历结束。否则, (1)中序遍历根节点的左子树;

(2)访问根节点; (3)中序遍历根节点的右子树。 3.后序遍历 后序遍历的递归过程为:若二叉树为空,遍历结束。否则,同济大学四平路 (1)后序遍历根节点的左子树; (2)后序遍历根节点的右子树; (3)访问根节点。 层次遍历 二叉树的层次遍历,是指从二叉树的第一层(根结点)开始,从上至下逐层遍历,在同一层中,则按从左到右的顺序对结点逐个访问。在进行层次遍历时,对一层结点访问完后,再按照它们的访问次序 对各个结点的左孩子和右孩子顺序访问,这样一层一层进行,先遇 到的结点先访问,这与队列的操作原则比较吻合。因此,在进行层 次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首 先将根结点指针入队列,然后从对头取出一个元素,每取一个元素,执行下面两个操作: (1)访问该元素所指结点; (2)若该元素所指结点的左、右孩子结点非空,则将该元素所指 结点的左孩子指针和右孩子指针顺序入队。 此过程不断进行,当队列为空时,二叉树的层次遍历结束。 下面大家来看二叉树遍历这部分在考试中常考题型 2.以遍历为基础的二叉树算法设计是考试的重点和难点。常见的试题有以下几类: (1)基于二叉树遍历的递归算法

相关文档
相关文档 最新文档