数据结构试题及答案.docx

上传人:b****8 文档编号:10499987 上传时间:2023-02-14 格式:DOCX 页数:32 大小:209.88KB
下载 相关 举报
数据结构试题及答案.docx_第1页
第1页 / 共32页
数据结构试题及答案.docx_第2页
第2页 / 共32页
数据结构试题及答案.docx_第3页
第3页 / 共32页
数据结构试题及答案.docx_第4页
第4页 / 共32页
数据结构试题及答案.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

数据结构试题及答案.docx

《数据结构试题及答案.docx》由会员分享,可在线阅读,更多相关《数据结构试题及答案.docx(32页珍藏版)》请在冰豆网上搜索。

数据结构试题及答案.docx

数据结构试题及答案

数据结构试题及答案

一、单项选择题

绪论

1.计算机中的算法一般具有输入、输出和(C)五个基本性质。

A.确定性、有穷性、稳定性B.易读性、确定性、可行性

C.有穷性、确定性、可行性D.可行性、可移植性、可扩展性

2.数据的最小单位是(B)。

(A)数据元素(B)数据项(C)数据类型(D)数据变量

3.以下数据结构中(D)属非线性结构。

A.栈B.串C.队列D.平衡二叉树

4.以下不属于存储结构是(B)。

A.栈B.线索树C.哈希表D.双链表

5.算法的时间复杂度取决于(C)。

A.问题的规模B.待处理数据的初始状态

C.A和BD.计算机的配置

6.在(D)中将会用到栈结构。

A.递归调用B.函数调用C.表达式求值D.以上场景都有

7.某算法的空间复杂度为O

(1),则(B)。

A.该算法执行不需要任何辅助空间

B.该算法执行所需辅助空间大小与问题规模n无关

C.该算法执行不需要任何空间

D.该算法执行所需全部空间大小与问题规模n无关

8.顺序表和链表相比存储密度较大,这是因为(B)。

A.顺序表的存储空间是预先分配的

B.顺序表不需要增加指针来表示元素之间的逻辑关系

C.链表中所有节点的地址是连续的

D.顺序表中所有元素的存储地址是不连续的

9.设n是描述问题规模的非负整数,下面程序片段的时间复杂度为(A)。

x=1;

while(x<=n)

x=5*x;

A.O(log5n)B.O(n)C.O(nlog5n)D.O(n5)

10.数据结构是指(D)。

A.一种数据类型C.相互之间存在一种或多种特定关系的数据元素的集合

B.数据的存储结构D.一组性质相同的数据元素的集合

11.以下算法的时间复杂度为(A)。

voidfun(intn)

{inti=1;

while(i<=n)

i++;

}

A.O(n)B.O(

C.O(nlog2n)D.O(log2n)

12.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储(C)。

A.数据的处理方法B.数据元素的类型

C.数据元素之间的关系D.数据的存储方法

13.以下数据结构中元素之间为非线性关系的是(D)。

A.栈B.队列C.线性表D.以上都不是

线性表

14.设线性表有n个元素,以下操作中,A在顺序表上实现比在链表上实现效率更高。

A.输出第i(1≤i≤n)个元素值

B.交换第1个元素与第2个元素的值

C.顺序输出这n个元素的值

D.输出与给定值x相等的元素在线性表中的序号

15.下面关于线性表的叙述,错误的是(D)。

A.线性表的顺序存储方式需要占用一块连续的存储空间

B.线性表的链式存储方式不必占用一块连续的存储空间

C.线性表采用链式存储便于插入和删除操作的实现

D.线性表采用顺序存储便于插入和删除操作的实现

16.在含有n个节点的单链表中查找第i个节点的平均时间复杂度是(D)。

A.O(log2n)B.O

(1)C.O(n2)D.O(n)

17.设线性表中有n个元素,以下运算中,(A)在单链表上实现要比在顺序表上实现效率更高。

A.删除指定位置元素的后一个元素

B.在最后一个元素的后面插入一个新元素

C.顺序输出前k个元素

D.交换第i个元素和第n-i+1个元素的值(i=1,2,…,n)

18.在一个带头结点的循环单链表L中,删除元素值为x的结点,算法的时间复杂度为(A)。

A.O(n)B.O(

C.O(nlog2n)D.O(n2)

19.双向链表中有两个指针域,prior和next,分别指向前驱和后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为( D )

A.p->prior=q;q->next=p;p->prior->next=q; q->prior=p->prior;

B.q->prior=p->prior;p->prior->next=q;q->next=p;p->prior=q->next;

C.q->next=p; p->next=q; p->prior->next=q; q->next=p;

D. p->prior->next=q; q->next=p; q->prior=p->prior; p->prior=q;

20.在一个双链表中,删除p所指节点(非首、尾节点)的操作是(A)。

A.p->prior->next=p->next;p->next->prior=p->prior;

B.p->prior=p->prior->prior;p->prior->prior=p;

C.p->next->prior=p;p->next=p->next->next;

D.p->next=p->prior->prior;p->prior=p->prior->prior;

21.在长度为n的顺序表中插入一个元素,对应算法的时间复杂度为(C)。

A.O

(1)B.O(log2n)C.O(n)D.O(n2)

栈和队列

22.设n个元素进栈序列是1、2、3、…、n,其输出序列是若p1=3,则p2的值为C。

A.一定是2B.一定是1C.不可能是1D.以上都不对

23.设n个元素进栈序列是p1,p2,p3,…,pn,其输出序列是p1、p2、…、pn,若p3=3,则p1的值A。

A.可能是2B.一定是2

C.不可能是1D.一定是1

24.设栈的输入序列是1、2、3、4,则(D)不可能是其出栈序列。

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

25.在数据处理过程中常需要保存一些中间数据,如果要实现后保存的数据先处理,则应采用(B)来保存这些数据。

A.线性表B.栈C.队列D.单链表

26.在数据处理过程中常需要保存一些中间数据,如果先保存的数据先处理,则使用(B)来保存这些数据。

A.线性表B.队列C.栈D.单链表

27.在环形队列中,元素的排列顺序(C)。

A.与队头和队尾指针的取值有关B.与元素值的大小有关

28.C.由元素进队的先后顺序确定D.与存放队中元素的数组大小有关设循环队列的最大容量是N,front是头指针,rear是尾指针,则队空的判定条件为(C)。

A.(rear+1)%N==frontB.rear+1==front

C.rear==frontD.rear=0,且front=0

29.若某循环队列有队首指针front和队尾指针rear,在队不满时进队操作仅会改变指针(B)。

A.frontB.rearC.front和rearD.以上都不队

30.判定一个循环队列Q(最多元素为m)为满队列的条件是(C)。

(A)Q->front==Q->rear(B)Q->front!

=Q->rear

(C)Q->front==(Q->rear+1)%m(D)Q->front!

=(Q->rear+1)%m

31.栈和队列的共同特点是(A)。

(A)只允许在端点处插入和删除元素(B)都是先进后出

(C)都是先进先出(D)没有共同点

32.设环形队列中数组的下标为0~N-1,其队头、队尾指针分别为front和rear(front指向队列中队头元素的前一个位置,rear指向队尾元素的位置),则其元素个数为(D)。

A.rear-frontB.rear-front-1

C.(rear-front)%N+1D.(rear-front+N)%N

33.若用一个大小为6的数组来实现环形队列,队头指针front指向队列中队头元素的前一个位置,队尾指针rear指向队尾元素的位置。

若当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为(B)。

A.1和5B.2和4

C.4和2D.5和1

34.中缀表达式a*(b+c)-d的对应的后缀表达式是(B)。

A.abcd*+-B.abc+*d-C.abc*+d-D.-+*abcd

35.设输入序列为a,b,c,d,借助一个栈规定a最先输出,则不可能的输出序列为(C)

Aa,b,d,cBa,d,c,b

Ca,d,b,cDa,c,d,b

串数组和广义表

36.在KMP算法中,串“ababaabab”的next数组值为(A)。

A.-1,0,0,1,2,3,1,2,3B.-1,0,0,1,2,1,1,2,3

C.-1,0,0,1,2,3,4,1,2D.-1,0,0,1,2,3,1,2,2

37.设二维数组A[3][5],每个数组元素占用2个存储单元,若按列优先顺序进行存储,A[0][0]的存储地址为100,则A[2][3]的存储地址是(A)。

A.122B.126

C.114D.116

38.设数组A[0..5,0..6]的每个元素占5个存储单元。

则将其按行优先存储在起始地址为1000的连续内存单元中,则元素A[5][5]的存储地址为(A)。

A.1200B.1180C.1205D.1175

39.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(D)。

A.100B.40C.80D.

40.若一个栈采用数组s[0..n-1]存放其元素,初始时栈顶指针为n,则以下元素x进栈的正确操作是(C)。

A.top++;s[top]=x;B.s[top]=x;top++;

C.top--;s[top]=x;B.s[top]=x;top--;

41.一个n×n的对称矩阵A,如果采用以列优先(即以列序为主序)的压缩方式存放到一个一维数组B中,则B的容量为C。

A.n2B.

C.

D.

树结构

42.在下列存储形式中,_D__不是m叉树(m>2)的存储形式?

A.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法

43.若一棵3次树中有a个度为1的节点,b个度为2的节点,c个度为3的节点,则该树中有(D)个叶子节点。

A.1+2b+3cB.a+2b+3cC.2b+3cD.1+b+2c

44.设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中的叶子结点个数是(D)。

A.5B.6C.7D.8

45.一棵二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则先序遍历序列为D。

A.ACBEDB.DECAB

C.DEABCD.CEDBA

46.一棵深度为h(h≥1)的完全二叉树至少有(A)个结点。

A.2h-1B.2h

C.2h+1D.2h-1+1

47.设森林F中有4棵树,第1、2、3、4棵树的结点个数分别为a、b、c、d,将森林F转换为一颗二叉树B,则二叉树B根结点的左子树上的结点个数是(A)。

A.a-1B.aC.a+b+cD.b+c+d

48.由权值分别为9、2、7、5的四个叶子节点构造一棵哈夫曼树,该树的带权路径长度为(B)。

A.23B.44C.37D.27

49.一棵含有n个结点的线索二叉树中,其线索个数为(C)。

A.2nB.n-1

C.n+1D.n

50.设给定权值总数有n个,其哈夫曼树的结点总数为(D)

A不确定B2nC2n+1D2n-1

第1次必定是2个叶子组成二叉树,产生1新结点,接下来有2种情况:

1.此新结点与原剩下的叶子再组成二叉树又产生1新结点,这样就只有第1次时由2个叶子产生1新结点,以后每次由1叶子与新结点产生新结点,故n个叶子共有2n-1个结点.

2.剩下的叶子中又有2个叶子(比第1次产生的新结点权小)结合产生新结点,其它类似,那么必然会由2个都是新结点再产生新结点,所以实际上数量与第1种一样,共有2n-1个.

图结构

51.无向图的邻接矩阵是一个(C)。

A.上三角矩阵B.对角矩阵C.对称矩阵D.零矩阵

52.如图所示有向图的一个拓扑序列是(B)。

(A)ABCDEF(B)FCBEAD

(C)FEDCBA)(D)DAEBCF

53.一个含有n个顶点的无向连通图采用邻接矩阵存储,则该矩阵一定是(A)。

A.对称矩阵B.非对称矩阵

C.稀疏矩阵D.稠密矩阵

54.设无向连通图有n个顶点e条边,若满足(A),则图中一定有回路。

A.e≥nB.e

C.e=n-1D.2e≥n

55.对于AOE网的关键路径,以下叙述(D)是正确的。

A.任何一个关键活动提前完成,则整个工程一定会提前完成

B.完成整个工程的最短时间是从源点到汇点的最短路径长度

C.一个AOE网的关键路径一定是唯一的

D.任何一个活动持续时间的改变可能会影响关键路径的改变

56.设完全无向图中有n个顶点,则该完全无向图中有(A)条边。

(A)n(n-1)/2(B)n(n-1)(C)n(n+1)/2(D)(n-1)/2

57.下列关于图的叙述中,正确的是(C)。

Ⅰ.回路是简单路径

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

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

A.仅ⅡB.仅Ⅰ、ⅡC.仅ⅢD.仅Ⅰ、Ⅲ

58.对图1所示的无向图,从顶点1开始进行深度优先遍历;可得到顶点访问序列A。

A.1243576B.1243567

C.1245637D.1234576

图1一个无向图

59.对于无向图的邻接矩阵来说,(C)。

A.第i行上、第i列上非零元素总数等于顶点i的度数

B.矩阵中的非零元素个数等于图中的边数

C.第i行上的非零元素个数和第i列的非零元素个数一定相等

D.邻接矩阵中非全零行的行数等于图中的顶点数

60.已知图G的邻接表如图1所示,则从顶点V0出发进行深度优先遍历的结果是___A__。

图图G的邻接表

A.0,1,2,3,4B.0,1,2,4,3

C.0,1,3,4,2D.0,1,4,2,3

61.以下关于有向图的说法中,正确的是(B)。

A.强连通图是任何顶点到其他所有顶点都有边

B.完全有向图一定是强连通图

C.有向图中任一顶点的入度等于出度

D.有向图边集的子集和顶点集的子集可构成原有向图的子图

A.顶点2B.顶点3C.顶点4D.顶点7

62.一个表示工程的AOE网中的关键路径(B)。

A.必须是唯一的B.可以有多条C.可以没有D.以上都不对

查找

63.适用于折半查找的表的存储方式及元素排列要求为( C   )  

  A.链接方式存储,元素无序     B.链接方式存储,元素有序

C. 顺序方式存储,元素有序    D.顺序方式存储,元素无序

64.顺序查找,在等概率情况下,其平均查找长度为()

AnB2nCn+1D(n+1)/2

65.关于m阶B-树说法错误的是(B)。

A.m阶B-树是一棵平衡的m叉树

B.B-树中的查找无论是否成功都必须找到最下层结点

C.根结点最多含有m棵子树

D.根结点至少含有2棵子树

66.哈希表中出现冲突是指D。

A.两个元素具有相同的序号

B.两个元素的关键字不同,而其他属性相同

C.数据元素过多

D.两个元素的关键字不同,而对应的哈希函数值(存储地址)相同

67.对有n个记录的表进行直接插入排序,在最好情况下需比较A次关键字。

A.n-1B.n+1C.n/2D.n(n-1)/2

68.哈希查找方法一般适用于(D)情况下的查找。

A.查找表为链表

B.查找表为有序表

C.关键字集合比地址集合大得多

D.关键字集合与地址集合之间存在着某种对应关系。

69.以下关于哈希查找的叙述中正确的是(D)。

A.哈希查找中不需要任何关键字的比较

B.采用拉链法解决冲突时,查找每个元素的时间是相同的

C.哈希表在查找成功时的平均查找长度仅仅与表长有关

D.哈希表的装填因子等于表中填入的记录数除以哈希表的长度

排序

70.设有5000个待排序的记录,如果需要用最快的方法选出其中关键字最小的10个记录,则选用下列(B)方法比较合适。

A.快速排序B.堆排序C.归并排序D.插入排序若

71.设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为(C)。

(A)6(B)5(C)4(D)7

72.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序后的结果为(C)。

A.2,3,5,8,6B.3,2,5,8,6

C.3,2,5,6,8D.2,3,6,5,8

73.时间复杂度恒为O(nlog2n)且不受数据初始状态影响的排序算法是(A)。

A.归并排序B.希尔排序C.快速排序D.简单选择排序

74.堆的形状是一棵__D_____。

A.满二叉树B.二叉判定树C.平衡二叉树D.完全二叉树

75.下列排序算法中,其中(D)是稳定的。

A堆排序,冒泡排序B快速排序,堆排序

C直接选择排序,归并排序D归并排序,冒泡排序

76.在下列排序方法中,(D)是不稳定的排序方法。

A.直接插入排序B.归并排序C.冒泡排序D.直接选择排序

77.以下序列是堆的是(C)。

A.{75,65,30,15,25,45,20,10}B.{75,65,45,10,30,25,20,15}

C.{75,45,65,30,15,25,20,10}D.{75,45,65,10,25,30,20,15}

78.用某种排序方法对数据序列{24,88,21,48,15,27,69,35,20}进行递增排序,元素序列的变化情况如下:

(1){24,88,21,48,15,27,69,35,20}

(2){20,15,21,24,48,27,69,35,88}

(3){15,20,21,24,35,27,48,69,88}

(4){15,20,21,24,27,35,48,69,88}

则所采用的排序方法是(A)。

A.快速排序B.简单选择排序

C.直接插入排序D.归并排序

79.如要在1000个整数中找出前10个最小的整数,在以下排序方法中最好采用(B)。

A.直接插入排序B.冒泡排序C.二路归并排序D.希尔排序

80.对含有n个元素的顺序表采用直接插入排序方法进行排序,在最好情况下算法的时间复杂度为(A)。

A.O(n)B.O(nlog2n)

C.O(n2)D.O(

81.下列四棵二叉树中,()是一个堆。

82.以下排序方法中,(C)不需要进行关键字的比较。

A.快速排序B.归并排序C.基数排序D.堆排序

83.在含有27个节点的二叉排序树上,查找关键字为35的节点,则依次比较的关键字有可能是(D)。

A.28,36,18,46,35B.18,36,28,46,35C.46,28,18,36,35D.46,36,18,26,35

84.对一组数据(84,47,25,15,21)排序,数据在排序过程中的变化如下:

(1)84,47,25,15,21

(2)21,47,25,15,84

(3)15,21,25,47,84

(4)15,21,25,47,84

则所采用的排序方法是C。

A.冒泡排序B.快速排序C.堆排序D.直接插入排序

二、填空题(每空2分,共20分)

绪论

1.数据结构研究的内容包括数据的逻辑结构,数据的_存储结构_以及对数据的运算。

线性表

2.已知一有向图的邻接表存储结构如下:

从顶点1出发,DFS遍历的输出序列是_(1,3,4,5,2)_,BFS遍历的输出序列是(1,3,2,4,5)

3.在长度为n(n≥1)的循环双链表L中,在尾节点之后插入一个新节点的时间复杂度为(O

(1))。

4.在单链表L中,指针P所指结点有后继结点的条件是__p->next!

=NULL。

栈和队列

5.设循环队列中数组的下标是0~N-1,其队头队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),则其元素个数为(r-f+N)%N。

6.设栈s和队列q的初始状态都为空,元素a、b、c、d、e和f依次通过栈s,一个元素出栈后即进入队列q,若6个元素出队的序列是b、d、c、f、e、a,则栈s的容量至少应该存3个元素?

串和数组

7.在KMP算法中,设模式串p=abcabaa,那么p的nextval数组为([-1,0,0,-1,0,2,1])。

8.若将n阶上三角矩阵A按列优先顺序压缩存放在一维数组B[1..n(n+1)/2]中,A中第一个非零元素a1,1存于B数组的b1中,则应存放到bk中的非零元素ai,j(1≤i≤n,1≤j≤i)的下标i、j与k的对应关系是

9.设二维数组A[3][5],每个数组元素占用2个存储单元,若按列优先顺序进行存储,A[0][0]的存储地址为100,则A[2][3]的存储地址是。

10.两个串是相等的,当且仅当两个串的长度相等且各对应位置上的___的字符都相同。

11.对矩阵进行压缩是为了__节省存储空间_________。

树结构

12.设某棵二叉树中度数为0的结点有m个,度数为1的结点数为n,则这棵二叉中共有(2m+n-1)个结点。

13.设某棵二叉树中有2000个结点,则该二叉树的最小高度为__11__。

14.一棵二叉树的先序遍历序列为ABCDEF,中序遍历序列为CBAEDF,则后序遍历序列为CBEFDA。

15.设森林F对应的二叉树为B,B中有m个节点,其根节点的右子树的节点个数为n,森林F中第一棵树的节点个数是m-n。

16.高度为7的完全二叉树至少有__32__个叶子结点。

图结构

17.设完全无向图中有n个顶点,则该完全无向图中共有(n(n-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1