《数据结构》期末复习题.docx

上传人:b****7 文档编号:23398152 上传时间:2023-05-16 格式:DOCX 页数:32 大小:74.62KB
下载 相关 举报
《数据结构》期末复习题.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.某程序的时间复杂度为(3n+nlog2n+n2+8),其数量级表示为()。

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

C.O(n2)D.O(log2n)

2.队列的插入操作是在()进行。

A.队首B.队尾

C.队前D.对后

3.二叉树上叶结点数等于()。

A.分支结点数加1B.单分支结点数加1

C.双分支结点数加1D.双分支结点数减1

4.每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做()排序

A.插入B.交换

C.选择D.归并

5.在一个图中,所有顶点的度数之和等于所有边数的()倍。

A.2B.1

C.3D.4

6.队列的删除操作是在()进行。

A.队首B.队尾

C.队前D.对后

7.当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则退栈时,用()语句修改top指针。

A.top++;B.top=0;

C.top--;D.top=N;

8.由权值分别为3,6,7,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。

A.51B.23

C.53D.74

9.在一棵二叉树中,第4层上的结点数最多为()。

A.31B.8

C.15D.16

10.向堆中插入一个元素的时间复杂度为()。

A.O(log2n)B.O(n)

C.O

(1)D.16O(nlog2n)

11.在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移()个元素。

A.n-iB.n-i+1

C.n-i-1D.i

12.在线性表的散列存储中,若用m表示散列表的长度,n表示待散列存储的元素的个数,则装填因子a等于()。

A.n/mB.m/n

C.n/(n+m)D.m/(n+m)

13.从一棵B_树删除元素的过程中,若最终引起树根结点的合并,则新树高度是()。

A.原树高度加1B.原树高度减1

C.原树高度D.不确定

14.在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有相同的()。

A.行号B.列号

C.元素值D.地址

15.在一个具有n个顶点的无向图中,要连通所有顶点则至少需要()条边。

A.nB.2n

C.n-1D.n+1

16.某程序的时间复杂度为(10n+nlog2n+n2),其数量级表示为()。

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

C.O(n2)D.O(log2n)

17.在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移()个元素。

A.n-iB.n-i+1

C.n-i-1D.i

18.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定()该结点的值。

A.小于B.大于

C.不小于D.大于等于

19.对于一棵具有n个结点的树,该树中所有结点的度数之和为()。

A.n-1B.n

C.n+1D.2n

20.某程序的时间复杂度为(3n+100×log2n+nlog2n),其数量级表示为()。

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

C.O(100)D.O(log2n)

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

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

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

22.根据n个元素建立一棵二叉搜索树时,其时间复杂度大致为()。

A.O(n)B.O(log2n)

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

23.按照数据逻辑结构的不同,可以将数据结构分成C。

A.动态结构和静态结构B.紧凑结构和非紧凑结构

C.线性结构和非线性结构D.内部结构和外部结构

24.下列关于数据结构的叙述中正确的是A。

A.数组是同类型值的集合

B.递归算法的程序结构比迭代算法的程序结构更为复杂

C.树是一种线性的数据结构

D.用一维数组存储二叉树,总是以先序顺序遍历各结点

25.在计算机的存储器中表示时,物理地址与逻辑地址相同并且是连续的,称之为B

A.逻辑结构B.顺序存储结构

C.链式存储结构D.以上都不对

26.以下关于算法特性的描述中,B是正确的。

(1)算法至少有一个输入和一个输出

(2)算法至少有一个输出但是可以没有输入

(3)算法可以永远运行下去

A.

(1)B.

(2)C.(3)D.

(2)和(3)

27.对顺序存储的线性表(a1,a2,…,an)进行插入操作的时间复杂度是C。

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

28.链表不具有的特点是A。

A.可随机访问任一元素B.插入和删除时不需要移动元素

C.不必事先估计存储空间D.所需空间与线性表的长度成正比

29.线性链表中各链结点之间的地址C。

A.必须连续B.部分地址必须连续

C.不一定连续D.连续与否无关

30.以下关于链式存储结构的叙述中,C是不正确的。

A.结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构

B.逻辑上相邻的结点物理上不必邻接

C.可以通过计算直接确定第i个结点的存储地址

D.插入、删除操作方便,不必移动结点

31.设依次进入一个栈的元素序列为d,a,c,b,得不到出栈的元素序列为D。

A.dcbaB.acdbC.abcdD.cbda

32.将新元素插入到链式队列中时,新元素只能插入到B。

A.链头B.链尾C.链中

D.第i个位置,i大于等于1,大于等于表长加1

33.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、和e1,则栈S容量至少应该是C。

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

34.下面D是‘abcd321ABCD’的子串。

A.abcdB.321abC.‘abcABC’D.‘21AB’

35.假设8行10列的二维数组A[1…8,1…10]分别以行序为主序和以列序为主序顺序存储时,其首地址相同,那么以行序为主序时元素a[3,5]的地址与以列序为主序时C

元素相同。

A.a[7,3]B.a[8,3]C.a[1,4]D.ABC都不对

36.数组A[0…5,0…6]的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址为A。

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

37.下列广义表中,长度为3的广义表为B。

A.(a,b,c,())B.((g),(a,b,c,d,f),())C.(a,(b,(d)))D.((()))

38.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行()。

A.s→link=p→link;p→link=s;B.p→link=s;s→link=q;

C.p→link=s→link;s→link=p;D.q→link=s;s→link=p;

39.若树T有a个度为1的结点,b个度为2的结点,c个度为3的结点,则该树有D个叶结点。

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

40.若一棵二叉树有102片叶子结点,则度二叉树度为2的结点数是B。

A.100B.101C.102D.103

41.在有n个叶子结点的霍夫曼树中,其结点总数为:

A.nB.2nC.2n+1D.2n-1

42.具有12个结点的完全二叉树有B。

A.5个叶子结点B.5个度为2的结点

C.7个分支结点D.2个度为1的结点

43.设结点x和y是二叉树中的任意两结点,若在先根序列中x在y之前,而后根序列中x在y之后,则x和y的关系是C。

A.x是y的左兄弟B.x是y的右兄弟

C.x是y的祖先D.x是y的后代

44.先序遍历序列与中序遍历序列相同的二叉树为。

A.根结点无左子树的二叉树B.根结点无右子树的二叉树

C.只有根结点的二叉树或非叶子结点只有左子树的二叉树

D.只有根结点的二叉树或非叶子结点只有右子树的二叉树

45.若二叉树T的前序遍历序列和中序遍历序列分别是bdcaef和cdeabf,则其后序遍历序列为A。

A.ceadfbB.feacdbC.eacdfbD.以上都不对

46.设无向图的顶点个数为n,则该图最多有C条边。

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

47.对于一个有n个顶点和e条边的无向图,若采用邻接表表示,邻接表中的结点总数是C。

A.e/2B.eC.n+2eD.n+e

48.无向图G=(V,E),其中V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}。

对该图进行深度优先遍历,下面不能得到的序列是D。

A.acfdebB.aebdfcC.aedfcbD.abecdf

49.直接插入排序在最好情况下的时间复杂度为B。

A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)

50.对有n个记录的表作快速排序,在最坏情况,算法的时间复杂度是D。

A.O(n3)B.O(n)C.O(nlog2n)D.O(n2)

30.下面的排序算法中,稳定是A。

A.直接插入排序法B.快速排序法

C.直接选择排序法D.堆排序法

51.数据结构是(   )

A.一种数据类型

B.数据的存储结构

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

D.一组性质相同的数据元素的集合

52.在线性表的下列运算中,不改变数据元素之间结构关系的运算是(   )

A.插入B.删除

C.排序D.定位

53.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(   )

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

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

54.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为(   )

A.1207B.1209

C.1211D.1213

55.算法指的是()

A.计算机程序B.计算方法

C.排序算法D.解决问题的有限运算序列

56.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行()。

As→link=p→link;p→link=s;Bp→link=s;s→link=q;

Cp→link=s→link;s→link=p;Dq→link=s;s→link=p;

57.栈的插入和删除操作在()进行。

A栈顶B栈底C任意位置D指定位置

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

A.100B.40C.55D.80

59.将含100个结点的完全二叉树从根这一层开始,每层从左至右依次对结点编号,根结点的编号为1。

编号为47的结点X的双亲的编号为()

  A.24   B.25   C.23   D.2无法确定

60.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()

A.eB.2eC.n2-eD.n2-2e

61.折半查找要求被查找的表是()

  A.键值有序的链接表  B.链接表但键值不一定有序表

  C.键值有序的顺序表  D.顺序表但键值不一定有序表

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

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

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

63.线性表采用链式存储时,结点的存储地址()

A.必须是不连续的B.连续与否均可

C.必须是连续的D.和头结点的存储地址相连续

64.设有一个无向图G=(V,E)和G'=(V',E'),如果G'为G的生成树,下面不正确的说法是()

  A.G'为G的子图          B.G'为G的一个无环子图

  C.G'为G的极小连通子图且V'=V   D.G'为G的连通分量

65.在按层次遍历二叉树的算法中,需要借助的辅助数据结构是(   )

A.队列B.栈

C.线性表D.有序表

66.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系(   )

A.不一定相同B.都相同

C.都不相同D.互为逆序

67.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的(   )

A.层次遍历算法B.前序遍历算法

C.中序遍历算法D.后序遍历算法

68.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为(   )

A.图中每个顶点的入度B.图中每个顶点的出度

C.图中弧的条数D.图中连通分量的数目

69.图的邻接矩阵表示法适用于表示(   )

A.无向图B.有向图

C.稠密图D.稀疏图

70.在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为(   )

A.iB.i+1

C.n-iD.n-i+1

13..在n(n>0)个元素的顺序栈中删除1个元素的时间复杂度为(   )

A.A.O

(1)B..O(√n)

C.O(nlog2n)D.O(n)

71.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为(   )

A.f,c,bB.f,d,b

C.g,c,bD.g,d,b

72.以下数据结构中哪一个是非线性结构?

()

A.队列  B.栈C.线性表  D.二叉树

73.若某线性表的常用操作是取第i个元素及其前趋元素,则采用()存储方式最节省时间

  A.顺序表   B.单链表

  C.双链表   D.单向循环

74.设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为()

  A.front=(front+1)%(m+1) B.front=(front+1)%m 

  C.rear=(rear+1)%m    D.front=front+1

75.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?

脚注(10)表示用10进制表示。

A.688B.678C.692D.696

76.深度为6(根的层次为1)的二叉树至多有()结点

  A.64   B.63   C.31   D.32

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

A.n(n-1)/2B.n(n-1)C.n2D.n2-1

78若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行折半查找,则查找A[3]的比较序列的下标依次为()

A.1,2,3B.9,5,2,3

C.9,5,3D.9,4,2,3

79.适于对动态查找表进行高效率查找的组织结构是()

A.有序表B.分块有序表C.二叉排序树D.线性链表

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

A.线性表采用顺序存储必须占用一片连续的存储空间

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

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

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

81.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()

A.front=front+1B.front=(front+1)%m

C.front=(front-1)%mD.front=(front+1)%(m-1)

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

A.100B.40C.55D.80

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

A.9B.10C.11D.12

84.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。

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

85.在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(即x与元素的平均比较次数,假定查找每个元素的概率都相等)为()。

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

86.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。

A.p->next=p->next->nextB.p=p->next

C.p=p->next->nextD.p->next=p

二、简答题

1.已知一个中缀算术表达式为:

3+4*(25-(6/15))-8@,写出对应的后缀算术表达式。

2.对以下图,试给出一种拓扑序列。

 

3.空堆开始依次向堆中插入线性表(64,52,12,48,45,26)中的每个元素,请以线性表的形式给出每插入一个元素后堆的状态。

(为小根堆)

4.在一份电文中共使用五种字符:

A,G,F,U,Y,Z,它们的出现频率依次为12,9,18,7,14,11,求出每个字符的哈夫曼编码。

5.试为下列情况选择合适的排序算法:

(1)n=30,且要求最坏情况下速度最快;

(2)n=30,且要求既要快,又要排序稳定;

(3)n=2000,要求平均情况下速度最快;

(4)n=2000,要求最坏情况下速度最快,又要节省存储空间。

6.对于下图,若按照克鲁斯卡尔算法产生最小生成树,写出得到的各条边的次序。

31

23

14

25

5

10

19

8

9

33

13

34

15

7.有七个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶子结点构造一棵哈夫曼树,并计算出带权路径长度WPL。

8。

已知一组记录的排序码为(46,79,56,38,40,80,95,24),写出对其进行快速排序的每一次划分结果。

9.已知一个中缀算术表达式为:

25-(6/15)+(15/8)@,写出对应的后缀算术表达式。

11.一个线性表为B=(12,23,45,57,20,03,78,31,15,36),设散列表为HT[0..12],散列函数为H(key)=key%13并用线性探查法解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。

12.试述线性表顺序存储和链式存储的各自的有缺点。

16.假设有一个适当大小的栈S,输入栈的序列为A,B,C,D,E。

问:

(1)能否得到下列的输出序列:

①B,C,D,E,A;②E,A,B,C,D;

③E,D,C,B,A。

(2)写出所有可能正确的输出序列(至少5种)。

17.用向量表示的循环队列的队首和队尾位置分别为1和max_size,试给出判断队列为空和为满的边界条件。

●参考答案:

队空条件为max_size==1;

队满的条件为(max_size+1)%MAXSIZE.

18.设一棵二叉树后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,要求:

(1)画出该二叉树;

(2)写出该二叉树的先序遍历序列;

(3)画出该二叉树对应的森林。

19.对二叉树中的结点按层次顺序(每一层自左向右)进行的访问操作称为二叉树的层次遍历。

现已知一棵二叉树的层次序列为AEBGFDIMH,中序遍历序列为GEFAMDBHI。

请画出该二叉树并写出其先序序列。

若将该二叉树看作是一个森林的孩子—兄弟表示,请画出该森林。

20.已知某通信电文仅由A、B、C、D、E、F这6个字符构成,其出现的频率分别为23、5、14、8、25、7,请给出它们的霍夫曼树及其对应的霍夫曼编码。

21.针对上图分别用卡鲁斯卡尔及普里姆算法给出该图的最小生成树,画出其逻辑结构。

22.总结直接插入排序、折半插入排序、希尔排序、起泡排序、快速排序、简单选择排序、堆排序及归并排序等在最好情况下、最坏情况及平均的时间复杂度,辅助空间复杂度及稳定性。

23.判断下面的每个结点序列是否表示一个堆,如果不是堆,请把它调整为堆。

(1)100,90,80,60,85,75,20,25,10,70,65,50

(2)100,70,50,20,90,75,60,25,10,85,65,80

24.已知一序列(12,70,33,65,24,56,48,92,86,33),问该序列是否是堆?

如果不是,则把它调整为小顶堆。

并问把该序列调整为堆共需要多少次元素间的比较?

多少次元素间的交换。

25.假定一个待散列存储的线性表为(37,65,25,73,42,91,45,36,18,75),散列地址空间为HT[0..12],若采用除留余数法构造散列函数和链接法处理冲突,试求出每一元素的散列地址,画出最后得到的散列表,求出平均查找长度。

26.有一棵二叉树如下图所示,分别指出其前序、中序遍历的结点序列。

 

27.有二叉树先序序列为:

ABCDEF,中序序列为:

CBAEDF,试画出该二叉树。

28.给定表(40,36,56,6,64,73,8,23),按数据元素在表中的次序构造一棵二叉查找树,并求其平均查找长度。

29.试分别画出具有3个结点的树和有具有3个结点的二叉树的所有不同形态。

30.分别用普里姆算法(Prim)和克鲁斯卡尔(kruskal)算法求出下

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

当前位置:首页 > 总结汇报 > 实习总结

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

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