数据结构试题及答案

数据结构试题及答案
数据结构试题及答案

好风光好感动1、线性表的逻辑顺序与物理顺序总是一致的。( x )

2、线性表的顺序存储表示优于链式存储表示。( X )

3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。( v )

4、二维数组是其数组元素为线性表的线性表。( v )

5、每种数据结构都应具备三种基本运算:插入、删除和搜索。( x )

6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个

方面。( v )

7、线性表中的每个结点最多只有一个前驱和一个后继。( x )

8、线性的数据结构可以顺序存储,也可以链接存储。非线性的数据结构只能链接存储。( x )

9、栈和队列逻辑上都是线性表。( v )

10、单链表从任何一个结点出发,都能访问到所有结点( v )

11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。(x )

12、快速排序是排序算法中最快的一种。( x )

13、多维数组是向量的推广。( x)

14、一般树和二叉树的结点数目都可以为0。( v)

15、直接选择排序是一种不稳定的排序方法。( x )

16、98、对一个堆按层次遍历,不一定能得到一个有序序列。(v )

17、在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。( x )

18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。( x )

19、堆栈在数据中的存储原则是先进先出。( x )

20、队列在数据中的存储原则是后进先出。( x )

21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。( x )

22、哈夫曼树一定是满二叉树。( x )

23、程序是用计算机语言表述的算法。( v)

24、线性表的顺序存储结构是通过数据元素的存储地址直接反映数据元素的逻辑关系。( v )

25、用一组地址连续的存储单元存放的元素一定构成线性表。( v )

26、堆栈、队列和数组的逻辑结构都是线性表结构。( v )

27、给定一组权值,可以唯一构造出一棵哈夫曼树。( x )

28、只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。( v )

29、希尔排序在较率上较直接接入排序有较大的改进。但是不稳定的。(v )

30、在平均情况下,快速排序法最快,堆积排序法最节省空间。( v )

31、快速排序法是一种稳定性排序法。( x )

32、算法一定要有输入和输出。( x )

33、算法分析的目的旨在分析算法的效率以求改进算法。( v )

34、非空线性表中任意一个数据元素都有且仅有一个直接后继元素。( x )

35、数据的存储结构不仅有顺序存储结构和链式存储结构,还有索引结构与散列结构。( x )

36、若频繁地对线性表进行插入和删除操作,该线性表采用顺序存储结构更合适。( x )

37、若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素的存储地址为144,则第1个数据元素的存储地址是101。( x )

38、若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素。( x )

39、符号p->next出现在表达式中表示p所指的那个结点的内容。( x )

40、要将指针p移到它所指的结点的下一个结点是执行语句p←p->next。( x )

41、若某堆栈的输入序列为1,2,3,4,则4,3,1,2不可能是堆栈的输出序列之一。( v )

42、线性链表中各个链结点之间的地址不一定要连续。( v )

43、程序就是算法,但算法不一定是程序。( v )

44、线性表只能采用顺序存储结构或者链式存储结构。( v )

45、线性表的链式存储结构是通过指针来间接反映数据元素之间逻辑关系的。( v )

46、除插入和删除操作外,数组的主要操作还有存取、修改、检索和排序等。( x )

47、稀疏矩阵中0元素的分布有规律,因此可以采用三元组方法进行压缩存储。( v )

48、不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。( v )

49、确定串T在串S中首次出现的位置的操作称为串的模式匹配。( v)

50、深度为h的非空二叉树的第i层最多有2i-1 个结点。(x )

51、满二叉树也是完全二叉树。( v )

52、已知一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。( x )

53、非空二叉排序树的任意一棵子树也是二叉排序树。( v )

54、对一棵二叉排序树进行前序遍历一定可以得到一个按值有序的序列。( x )

55、一个广义表的深度是指该广义表展开后所含括号的层数。( v )

56、散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。( v )

57、序列初始为逆序时,冒泡排序法所进行的元素之间的比较次数最多。( v )

58、已知指针P指向键表L中的某结点,执行语句P=P-〉next不会删除该链表中的结点。

( v )

59、在链队列中,即使不设置尾指针也能进行入队操作。( v )

60、如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。( x )

61、设与一棵树T所对应的二叉树为BT,则与T中的叶子结点所对应的BT中的结点也一定是叶子结点。( x )

62、若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G 的顶点数)。( v )

63、给出不同的输入序列建造二叉排序树,一定得到不同的二叉排序树。( v )

64、由于希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间多。( x )

65、程序越短,程序运行的时间就越少。( x )

66、采用循环链表作为存储结构的队列就是循环队列。( x )

67、堆栈是一种插入和删除操作在表的一端进行的线性表。( v )

68、一个任意串是其自身的子串。( v )

69、哈夫曼树一定是完全二叉树。( x )

70、带权连通图中某一顶点到图中另一定点的最短路径不一定唯一。( v )

71、折半查找方法可以用于按值有序的线性链表的查找。( x )

72、稀疏矩阵压缩存储后,必会失效掉随机存取功能。( x )

73、由一棵二叉树的前序序列和后序序列可以唯一确定它。( x )

74、在n个结点的元向图中,若边数在于n-1,则该图必是连通图。( x )

75、在完全二叉树中,若某结点元左孩子,则它必是叶结点。( v )

76、若一个有向图的邻接矩阵中,对角线以下元素均为0,则该图的拓扑有序序列必定存在。( v )

77、树的带权路径长度最小的二叉树中必定没有度为1的结点。( v )

78、二叉树可以用0≤度≤2的有序树来表示。( x )

79、一组权值,可以唯一构造出一棵哈夫曼树。( x )

80、101,88,46,70,34,39,45,58,66,10)是堆;( v )

81、将一棵树转换成二叉树后,根结点没有左子树;( x )

82、用树的前序遍历和中序遍历可以导出树的后序遍历;( v )

83、在非空线性链表中由p所指的结点后面插入一个由q所指的结点的过程是依次执行语句:q->next=p->next;p->next=q。( v )

84、非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p->prior=q, p->next=q->next,q->next=p,q->prior->next←p。( x )

85、删除非空链式存储结构的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:p=top,top= p->next,free (p)。( v )

86、哈希的查找无需进行关键字的比较。( v )

87、一个好的哈希函数应使函数值均匀的分布在存储空间的有效地址范围内,以尽可能减少冲突。

( v )

88、排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。( v )

89、队列是一种可以在表头和表尾都能进行插入和删除操作的线性表。( x )

90、在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不与表的个数有关,而与每一块中的元素个数有关。( x )

91、对于有向图,顶点的度分为入度和出度,入度是以该顶点为终点的入边数目;出度是以该顶点为起点的出边数目,该顶点的度等于其入度和出度之和。( v )

92、无向图的邻接矩阵是对称的有向图的邻接矩阵是不对称的。( x )

93、具有n个顶点的连通图的生成树具有n-1条边( v )

二、填空题:

1、《数据结构》课程讨论的主要内容是数据的逻辑结构、存储结构和______运算________。

2、数据结构算法中,通常用时间复杂度和__________________两种方法衡量其效率。

3、一个算法一该具有______,______,____,______和____这五种特性。

4、若频繁地对线性表进行插入与删除操作,该线性表应采用____________存储结构。

5、在非空线性表中除第一个元素外,集合中每个数据元素只有一个_______;除最后一个元素之外,集合中每个数据元素均只有一个_________。

6、线性表中的每个结点最多有________前驱和____________后继。

7、______链表从任何一个结点出发,都能访问到所有结点。

8、链式存储结构中的结点包含____________域,_______________域。

9、在双向链表中,每个结点含有两个指针域,一个指向______结点,另一个指向________结点。

10、某带头结点的单链表的头指针head,判定该单链表非空的条件______________。

11、在双向链表中,每个结点含有两个指针域,一个指向_______结点,另一个指向_____结点。

12、已知指针p指向单链表中某个结点,则语句p->next=p->next->next的作用__删除p 的后继结点_。

13、已知在结点个数大于1的单链表中,指针p指向某个结点,则下列程序段结束时,指针q指向*p的_____________结点。

q=p;

while(q->next!=p)

q=q->next;

14、若要在单链表结点*P后插入一结点*S,执行的语句_______________。

15、线性表的链式存储结构地址空间可以_________,而向量存储必须是地址空间___________。

16、栈结构允许进行删除操作的一端为_____________。

17、在栈的顺序实现中,栈顶指针top,栈为空条件______________。

18、对于单链表形式的队列,其空队列的F指针和R指针都等于__________________。

19、若数组s[0..n-1]为两个栈s1和s2的共用存储空间,仅当s[0..n-1]全满时,各栈才不能进行栈操

作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为_________。

20、允许在线性表的一端插入,另一端进行删除操作的线性表称为_______。插入的一端为______,删除的一端为______。

21、设数组A[m]为循环队列Q的存储空间,font为头指针,rear为尾指针,判定Q为空队列的条件____________________。

22、对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看一个环,则

队列中元素的个数为___________。

23、已知循环队列的存储空间为数组data[21],且头指针和尾指针分别为8和3,则该队列的当前长

度__________。

24、一个串的任意个连续的字符组成的子序列称为该串的________,包含该子串的串称为________。

25、求串T在主串S中首次出现的位置的操作是________________。

26、在初始为空的队列中插入元素A,B,C,D以后,紧接着作了两次删除操作,此时的队尾元素是

__________。

27、在长度为n的循环队列中,删除其节点为x的时间复杂度为_______________。

28、已知广义表L为空,其深度为___________。

29、已知一顺序存储的线性表,每个结点占用k个单元,若第一个结点的地址为DA1,则第i个结

点的地址为______________。

30、设一行优先顺序存储的数组A[5][6],A[0][0]的地址为1100,且每个元素占2个存储单元,则

A[2][3]的地址为_____________。

31、设有二维数组A[9][19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺

序存储,则元素A[6,6]的存储地址为______________,按列优顺序存储,元素A[6,6]的存储地址为

______________。

32、在进行直接插入排序时, 其数据比较次数与数据的初始排列________关;而在进行直接选择排序时,其数据比较次数与数据的初始排列__________关。

33、假设以行为优先存储的三维数组A[5][6][7],A[0][0][0]的地址为1100,每个元素占两个存储单

元,则A[4][3][2]的地址为_______。

34、设二维数组A[m][n]按列优先存储,每个元素占1个存储单元,元素A00的存储地址loc(A00),

则A ij的存储地址loc(A ij)=____________________。

35、稀疏矩阵一般采用__________方法进行压缩存储。

36、稀疏矩阵可用_________进行压缩存储,存储时需存储非零元的________、________、________。

37、若矩阵中所有非零元素都集中在以主对角线为中心的带状区域中,区域外的值全为0,则称为__________。

38、若一个n 阶矩阵A中的元素满足:A ij=A ji (0<=I ,j<=n-1)则称A为____________矩阵;若主对角

线上方(或下方)的所有元素均为零时,称该矩阵为______________。

39、对于上三角形和下三角形矩阵,分别以按行存储和按列存储原则进行压缩存储到数组M[k]中,

若矩阵中非0元素为A ij,则k对应为________和__________。

40、设有一上三角形矩阵A[5][5]按行压缩存储到数组B中,B[0]的地址为100,每个元素占2个单元,则A[3][2]地址为____________。

41、广义表(A,(a,b),d,e,((i,j),k)),则广义表的长度为___________,深度为___________。

42、已知广义表A=((a,b,c),(d,e,f)),则运算head(head (tail(A))))=___ ________。

43、已知广义表ls =(a,(b,c,d),e),运用head和tail函数取出ls中的原子b的运算是_____。

44、在树结构里,有且仅有一个结点没有前驱,称为根。非根结点有且仅有一个___________,且存

在一条从根到该结点的_______________。

45、度数为0的结点,即没有子树的结点叫作__________结点或_________结点。同一个结点的儿子结点之间互称为___________结点。

46、假定一棵树的广义表为A(B(e),C(F(h,i,j),g),D),则该树的度为___________,树的深度为_________,终端结点为______,单分支结点为,双分支结点个数为_______,三分支结点为_______,C结点的双亲结点是______,孩子结点是______。

48、完全二叉树、满二叉树、线索二叉树和二叉排序树这四个名词术语中,与数据的存储结构有关

系的是_____________。

47、有三个结点的二叉树,最多有________种形状。

48、每一趟排序时从排好序的元素中挑出一个值最小的元素与这些未排小序的元素的第一个元素交

换位置,这种排序方法成为_____________排序法。

49、高度为k的二叉树具有的结点数目,最少为_____,最多为_____。

50、对任何一棵二叉树,若n0,n1,n2分别是度为0,1,2的结点的个数,则n0=_______。

51、在含100个结点的完全二叉树,叶子结点的个数为_______。

52、将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列叫_____。

53、若一棵满二叉树含有121个结点,则该树的深度为_________。

54、一个具有767个结点的完全二叉树,其叶子结点个数为________。

55、深度为90的满二叉树,第11层有________个结点。

56、有100个结点的完全二叉树,深度为________。

57、设一棵二叉树中度为2的结点10个,则该树的叶子个数为________。

58、若待散列的序列为(18,25,63,50,42,32,9),散列函数为H(key)=key MOD 9,与18发生冲突的元素

有_____________个。

59、含有3个2度结点和4个叶结点的二叉树可含__________个1度结点。

60、一棵具有5层满二叉树中节点总数为___________。

61、一棵含有16个结点的完全二叉树,对他按层编号,对于编号为7的结点,他的双亲结点及左右

结点编号为______、______、_______。

62、深度为k(设根的层数为1)的完全二叉树至少有_______个结点, 至多有_______个结点。 63、若要对某二叉排序树进行遍历,保证输出所有结点的值序列按增序排列,应对该二叉排序树采用________遍历法。

64、在序列(2,5,8,11,15,16,22,24,27,35,50)中采用折半查找(二分查找)方法查找元素24,需要进行______________次元素之间的比较。

65、设有10个值,构成哈夫曼树,则该哈夫曼树共有______个结点。

66、从树中一个结点到另一个结点之间的分支构成这两个结点之间的____________。

67、关键字自身作为哈希函数,即H (k )=k ,也可自身加上一个常数作为哈希函数,即H(k)=k+C 这种构造哈希函数的方式叫____________。

68、对于一个图G ,若边集合E (G )为无向边的集合,则称该图为____________。 69、对于一个图G ,若边集合E (G )为有向边的集合,则称该图为____________。

70、对于有向图,顶点的度分为入度和出度,以该顶点为终点的边数目叫________;以该顶点为起点的边数目叫_________。

71、一个无向图采用邻接矩阵存储方法,其邻接矩阵一定是一个______________。 72、有一个n 个顶点的有向完全图的弧数_____________。

73、在无向图中,若从顶点A 到顶点B 存在_________,则称A 与B 之间是连通的。 74、在一个无向图中,所有顶点的度数之和等于所有边数的___________倍。

75、一个连通图的生成树是该图的____________连通子图。若这个连通图有n 个顶点, 则它的生成树有__________条边。

76、无向图的邻接矩阵是一个_____________矩阵。

77、如果从一无向图的任意顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是_____ _______。

78、若采用邻接表的存储结构,则图的广度优先搜索类似于二叉树的____________遍历。 79、若图的邻接矩阵是对称矩阵,则该图一定是________________。

80、从如图所示的临接矩阵可以看出,该图共有______个顶点。如果是有向图,该图共有______条弧;如果是无向图,则共有________条边。 81、如果从一个顶点出发又回到该顶点,则此路径叫做___________。

82、一个具有个n 顶点的无向图中,要连通全部顶点至少需要________条边。 83、给定序列{100, 86, 48, 73, 35, 39, 42, 57, 66, 21}, 按堆结构的定义, 则它一定_________堆。

84、从未排序序列中选择一个元素,该元素将当前参加排序的那些元素分成前后两个部分,前一部分中所有元素都小于等于所选元素,后一部分中所有元素都大于或等于所选元素,而此时所选元素处在排序的最终位置。这种排序法称为_____________排序法。

85、折半搜索只适合用于___________________。

86、结点关键字转换为该结点存储单元地址的函数H 称为_____________或叫__________。 87、在索引查找中,首先查找________,然后查找相应的_________,整个索引查找的平均查找长度

A B C

C

B A B ??????????=010100110

等于查找索引表的平均长度与查找相应子表的平均查找长度的_______。

三、选择题:

()1.数据结构通常是研究数据的及它们之间的联系。

A存储和逻辑结构B存储和抽象

C理想和抽象D理想与逻辑

()2.在堆栈中存取数据的原则是。

A先进先出B后进先出

C先进后出D随意进出

()3.将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子的编号为______。

A.98

B.99

C.50

D.48

( )4.对于如图所示二叉树采用中根遍历,正确的遍历序列应为( )

A.ABCDEF

B.ABECDF

C.CDFBEA

D.CBDAEF

()5.设有100个元素,用折半查找法进行查找时,最大比较次数是_____ 。

A.25

B.50

C.10

D.7

()6.快速排序在_____情况下最易发挥其长处。

A.被排序数据中含有多个相同排序码

B.被排序数据已基本有序

C.被排序数据完全无序

D.被排序数据中最大值和最小值相差悬殊

()7.由两个栈共享一个向量空间的好处是______。

A减少存取时间,降低下溢发生的机率B节省存储空间,降低上溢发生的机率

C减少存取时间,降低上溢发生的机率D节省存储空间,降低下溢发生的机率

()8.某二叉树的前序和后序序列正好相反,则该二叉树一定是_____的二叉树A空或者只有一个结点B高度等于其结点数

C任一结点无左孩子D任一结点无右孩子

()9.设散列表长m=14,散列函数H(K)=K%11,已知表中已有4个结点:r(15)=4; r(38)=5; r(61)=6;r(84)=7,其他地址为空,如用二次探测再散列处理冲突,关键字为49的结点地址是________。

A8 B3

C5 D9

()10.在含有n个项点有e条边的无向图的邻接矩阵中,零元素的个数为________。

A.e

B.2e

C.n2-e

D.n2-2e

()11.图的深度优先遍历类似于二叉树的_______。

A.先序遍历

B.中序遍历

C.后序遍历

D.层次遍历

()12.设长度为n的链队列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为_______。

A. O(1)

B. O(log2n)

C. O(n)

D. O(n2)

()13.堆的形状是一棵_______。

A.二叉排序树

B.满二叉树

C.完全二叉树

D.平衡二叉树

()14.一个无向连连通图的生成树是含有该连通图的全部项点的_______。

A.极小连通子图

B.极小子图

C.极大连通子图

D.极大子图

()15.一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用_______方法

A.快速排序

B.堆排序

C.插入排序

D.二路归并排序

()16.设单链表中结点的结构为

typedef struct node { file://链表结点定义

ElemType data; file://数据

struct node * Link; file://结点后继指针

} ListNode;

已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作______。

A. s->link = p; p->link = s;

B. s->link = p->link; p->link = s;

C. s->link = p->link; p = s;

D. p->link = s; s->link = p;

()17.设单链表中结点的结构为

typedef struct node

{ file://链表结点定义

ElemType data; file://数据

struct node * Link; file://结点后继指针

} ListNode;

非空的循环单链表first的尾结点(由p所指向)满足:______

A. p->link == NULL;

B. p == NULL;

C. p->link == first;

D. p == first;

()18.计算机识别、存储和加工处理的对象被统称为_________

A.数据 B.数据元素

C.数据结构

D.数据类型

()19.在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是________

A.O(1) B.O(n)

C.O(nlogn)

D.O(n2)

()20.队和栈的主要区别是________

A.逻辑结构不同

B.存储结构不同

C.所包含的运算个数不同

D.限定插入和删除的位置不同

()21.链栈与顺序栈相比,比较明显的优点是________

A.插入操作更加方便

B.删除操作更加方便

C.不会出现下溢的情况

D.不会出现上溢的情况

()22.在目标串T[0…n-1]=”xwxxyxy”中,对模式串p[0…m-1]=”xy”进行子串定位操作的结果_______

A.0

B.2

C.3

D.5

()23.已知广义表的表头为A,表尾为(B,C),则此广义表为________

A.(A,(B,C))

B.(A,B,C)

C.(A,B,C)

D.(( A,B,C))

()24.二维数组A按行顺序存储,其中每个元素占1个存储单元。若A[1][1]的存储地址为420,A[3][3]的存储地址为446,则A[5][5]的存储地址为_______

A.470

B.471

C.472

D.473

()25.二叉树中第5层上的结点个数最多为________

A.8

B.15

C.16

D.32

()26.如果某图的邻接矩阵是对角线元素均为零的上三角矩阵,则此图是_______

A.有向完全图

B.连通图

C.强连通图

D.有向无环图

()27.对n个关键字的序列进行快速排序,平均情况下的空间复杂度为_______

A.O(1)

B.O(logn)

C.O(n)

D.O(nlogn)

()28.对于哈希函数H(key)=key%13,被称为同义词的关键字是_______

A.35和41 B.23和39

C.15和44

D.25和51

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

A、 24

B、 48

C、 72

D、 53

()30.对包含N个元素的散列表进行检索,平均检索长度

A、为 o(log2N)

B、为o(N)

C、不直接依赖于N

D、上述三者都不是

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

A、 O(log2n)

B、 O(n)

C、 O(1)

D、 O(nlog2n)

()32.下面关于图的存储的叙述中,哪一个是正确的。 ________

A.用相邻矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关

B.用相邻矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关

C.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关

D.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关

()33.输入序列为(A,B,C,D),不可能得到的输出序列是______.

A. (A,B,C,D)

B.(D,C,B,A)

C.(A, C,D,B)

D.(C,A,B,D)

()34.在长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次

前移____个元素。

A、n-i

B、n-i+1

C、n-i-1

D、i

()35.设一个广义表中结点的个数为n,则求广义表深度算法的时间复杂度为____。

A、O(1)

B、O(n)

C、O(n2)

D、O(log 2 n)

()36.假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为 ____。

A、f+1==r

B、r+1==f

C、f==0

D、f==r

()37.从堆中删除一个元素的时间复杂以为____。

A、O(1)

B、O(log 2 n)

C、O(n)

D、O(nlog 2 n)

()38.若需要利用形参直接访问实参,则应把形参变量说明为____参数。

A.指针

B.引用

C.值

D.变量

()39.在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行____。

A. q一>next=p一>next;p一>next=q;C. q一>next=p一>next;p一>next=q;

B. p一>next=q一>next;q=p; D. p一>next=q一>next;q一>next=p;

()40.在一个顺序队列中,队首指针指向队首元素的____位置。

A.前一个

B.后一个

C.当前

D.最后一个

()41.向二叉搜索树中插入一个元素时,其时间复杂度大致力____。

A O(1)

B O(1og2n)

C O(n)

D O(nlog2n)

()42.算法指的是________

A.计算机程序

B.解决问题的计算方法

C.排序算法

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

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

A.必须是不连续的

B.连续与否均可

C.必须是连续的

D.和头结点的存储地址相连续

()44.将长充为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为________

A.O(1)

B.O(n)

C.O(m)

D.O(m+n)

()45.由两个栈共享一个向量空间的好处是:________

A.减少存取时间,降低下溢发生的机率

B.节省存储空间,降低上溢发生的机率

C.减少存取时间,降低上溢发生的机率

D.节省存储空间,降低下溢发生的机率

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

A. front=front+1

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

C. front=(front-1)%m

D. front=(front+1)%m

()47.如下陈述中正确的是________

A. 串是一种特殊的线性表

B. 串的长度必须大于零

C. 串中元素只能是字母

D. 空串就是空白串

()48.若目标串的长充为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是________

A.O(1)

B.O(n)

C.O(n2)

D.O(n3)

()49.一个非空广义表的表头________

A.不可能是子表

B.只能是子表

C.只能是原子

D.可以是子表或原子

()50. 从堆中删除一个元素的时间复杂度为________。

A、 O(1)

B、 O(n)

C、 O(log2n)

D、 O(nlog2n)

()51.一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为________

A.4

B.5

C.6

D.7

()52. 从二叉搜索树中查找一个元素时,其时间复杂度大致为________。

A、 O(n)

B、 O(1)

C、 O(log2n)

D、 O(n2)

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

A、 O(n)

B、 O(log2n )

C、 O(n2)

D、 O(nlog2n)

()54.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况是如下________:

20,15,21,25,47,27,68,35,84

15,20,21,25,35,27,47,68,84

15,20,21,25,27,35,47,68,84

则所采用的排序方法是________

A.选择排序

B.希尔排序

C.归并排序

D.快速排序

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

A.有序表

B.分块有序表

C.二叉排序树

D.线性链表

()56. 若需要利用形参直接访问实参,则应把形参变量说明为________参数。

A 指针

B 引用

C 值

D 常量

()57.链式栈与顺序栈相比,一个比较明显的优点是________。

A. 插入操作更加方便

B. 通常不会出现栈满的情况

C. 不会出现栈空的情况

D. 删除操作更加方便

()58.设单链表中结点的结构为(data, link)。已知指针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;

()59.若让元素1,2,3依次进栈,则出栈次序不可能出现________种情况。

A. 3, 2, 1

B. 2, 1, 3

C. 3, 1, 2

D. 1, 3, 2

()60.线性链表不具有的特点是________。

A. 随机访问

B. 不必事先估计所需存储空间大小

C. 插入与删除时不必移动元素

D. 所需空间与线性表长度成正比

()61.在稀疏矩阵的十字链接存储中,每个列单链表中的结点都具有相同的_____。

A.行号B.列号

C.元素值D.地址

()62.假定一个顺序队列的队首和队尾指针分别为front和rear,存放该队列的数组长度为N,则判断队空的条件为________。

A.(front+1)% N == rear C. front == 0

B.(rear+1)% N == front D. front == rear

()63.栈的插入和删除操作在___进行.

(A).栈顶 (B).栈底

(C).任意位置 (D).指定位置

()64. 在一个顺序循环队列中,队首指针指向队首元素的________位置。

A. 后两个

B. 后一个

C. 当前

D.前一个

()65.下面算法的时间复杂度为__。

int f(int n){

if (n==0)return 1;

else return n*f(n-1);}

A.O(1) B.O(n)

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

()66.数据结构是一门研究非数值计算的程序设计问题中计算机的(①)以及它们之间的(②)和运算的学科

①A、操作对象B、计算方法C、逻辑存储D、数据映象

②A、结构B、关系C、运算D、算法

()67.数据结构被形式地定义为(K,R),其中K是(①)的有限集合,R是K上(②)的有限集合

①A、算法B、数据元素C、数据操作D、逻辑结韵

②A、操作B、映象C、存储D、关系

()68.在数据结构中,从逻辑上可以把数据结构分为________

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

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

()69.线性表的顺序存储结构是一种_________的存储结构,线性表的链式存储结构是一种________的存储结构

A、随机存取B、顺序存取

C、索引存取D、HASH存取

()70.算法分析的目的是(①),算法分析的两个主要方面是(②)

①A、找出数据结构的合理性C、分析算法的效率以求改进

B、研究算法中的输入和输出的关系D、分析算法的易懂性和文档性

②A、空间复杂性和时间复杂性C、可读性和文档性

B、正确性和简明性D、数据复杂性和程序复杂性

()71.计算机算法指的是(①),它必具备输入、输出和(②)等五个特性

①A、计算方法B、排序方法

C、解决莱一问题的有限运算序列D、调度方法

②A、可执行性、可移植性和可扩充性C、确定性、有穷性和稳定性

B、可执行性、确定性和有穷性D、易谩性、稳定性和安全性

()72.线性表若采用链表存储结构时,要求内存中可用存储单元的地址________ A、必须是连续的B、部分地址必须是连续的

C、一定是不连续的D、连续不连续都可以

()73.在以下的叙述中,正确的是__________

A、线性表的线性存储结构优于链表存储结构C、栈的操作方式是先进先出

B、二维数组是它的每个数据元素为一个线性表的线性表D、队列的操作方式是先进后出

()74. 一个数组元素A[i]与________的表示等价。

A、 *(A+i)

B、 A+i

C、 *A+i

D、 &A+i

()75. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。

A、参数类型

B、参数个数

C、函数类型

D、函数变量

()76. 若需要利用形参直接访问实参,则应把形参变量说明为________参数

A、指针

B、引用

C、值

D、函数

()77.下面程序段的时间复杂度为____________。

for(int i=0; i

for(int j=0; j

A[i][j]=i*j;

A、 O(m2)

B、 O(n2)

C、 O(m*n)

D、 O(m+n)

()78. 执行下面程序段时,执行S语句的次数为____________。

for(int i=1; i<=n; i++)

for(int j=1; j<=i; j++)

S;

A、 n2

B、 n2/2

C、 n(n+1)

D、 n(n+1)/2

()79. 下面算法的时间复杂度为____________。

int f( unsigned int n ) {

if ( n==0 || n==1 ) return 1; else return n*f(n-1);

}

A、 O(1)

B、 O(n)

C、 O(n2)

D、 O(n!)

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

A、n-i

B、n-i+1

C、n-i-1

D、i

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

A、n-i

B、n-i+1

C、n-i-1

D、i

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

A、n

B、n/2

C、(n+1)/2

D、(n-1)/2

()83.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行_____ 。

A、HL = p; p->next = HL; C、p->next = HL; p = HL;

B、p->next = HL; HL = p; D、p->next = HL->next; HL->next = p;

()84.在一个单链表HL中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行_____。

A、q->next = p->next ; p->next = q; C、q->next = p->next; p->next = q;

B、p->next = q->next; q = p; D、p->next = q->next ; q->next = p;

()85.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行_____。

A、p = q->next ; p->next = q->next; C、p = q->next ; q->next = p->next;

B、p = q->next ; q->next = p; D、q->next = q->next->next; q->next = q;

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

A、行号

B、列号

C、元素值

D、地址

()87. 设一个广义表中结点的个数为n,则求广义表深度算法的时间复杂度为_______。

A、 O(1)

B、 O(n)

C、 O(n2)

D、 O(log2n)

()88.栈的插入与删除操作在_____进行。

A、栈顶

B、栈底

C、任意位置

D、指定位置

()89.当利用大小为N的一维数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行_____语句修改top指针。

A、top++

B、top--

C、top=0

D、top

()90.若让元素1,2,3依次进栈,则出栈次序不可能出现_____种情况。

A、3,2,1

B、2,1,3

C、3,1,2

D、1,3,2

()91.在一个循环顺序队列中,队首指针指向队首元素的_____位置。

A、前一个

B、后一个

C、当前

D、后面

()92.当利用大小为N的一维数组顺序存储一个循环队列时,该队列的最大长度为_____。

A、N-2

B、N-1

C、N

D、N+1

()93.从一个循环顺序队列删除元素时,首先需要_____。

A、前移一位队首指针

B、后移一位队首指针

C、取出队首指针所指位置上的元素

D、取出队尾指针所指位置上的元素

()94.假定一个循环顺序队列的队首和队尾指针分别为f和r,则判断队空的条件是_____。

A、f+1==r

B、r+1==f

C、f==0

D、f==r

()95.假定一个链队的队首和队尾指针分别为front和rear,则判断队空的条件是_____。

A、front==rear

B、front!=NULL

C、rear!=NULL

D、front==NULL

四、应用题:

1、栈和队列都是特殊线性表,其特殊性是什么?

2、设有一顺序队列sq,容量为5,初始状态sq.front=sq.rear=0,划出作完下列操作的队列及其头尾

指针变化状态,若不能入队,简述理由后停止。

1)d,e,b 入队。

2)d,e 出队。

3)i,j 入队。

4)b 出队。

5)n,o,p 入队。

3、设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈顺序为s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为多少?

4、将两个栈存入数组V[1..m]中应如何安排最好?这时栈空、栈满的条件是什么?

5、已知稀疏矩阵如下:

请写出该稀疏矩阵三元组表示。

6、广义表A=(a,b,(c,d),(e,(f,g))),求其长度,及深度。

7、请画出下面广义表相应的加入表头结点的单链表表示,

D(A(x,y,L(a,b)),B(z,A(x,y,L(a,b))))。

8、一棵具有n个结点的理想平衡二叉树(即除离根最远的最底层外其他各层都是满的,最底层有若干结点)有多少层?若设根结点在第0层,则树的高度h如何用n来表示(注意n可能为0)?

9、设二叉树后根遍历为BAC,画出所有可能的二叉树。

10、假设一棵二叉树的层序序列是ABCDEFGHIJ和中序序列是DBGEHJACIF,请画出该树。

11、有一个完全二叉树按层次顺序存放在一维数组中,如下所示:

请指出结点P的父结点,左子女,右子女。

12、给出下列二叉树的先序序列。

13、已知某非空二叉树采用顺序存储结构,树中结点的数据信息依次存放在一个一维数组中,

ABC□DFE□□G□□H□□,该二叉树的中序遍历序列为:

14、设一棵二叉树的前序序列为1,2,3,4,5,6,7,8,9,其中序序列为2,3,1,5,4,7,8,6,9,试画出该二叉树。

15、已知一组元素为(46,25,78,62,12,37,70,29),试画出按元素排列次序插入生成的

一棵二叉树。

16、由于元素插入的次序不同,所构成的二叉排序树也有不同的状态,请画出一棵含有1,2,

3,4,5,6六个结点且以1为根,深度为4的二叉排序树。

17、什么是线索二叉树?为什么要线索化?

18、有n个顶点的有向连通图最多有多少条边?最少有多少条边?

19、下图中给出由7个顶点组成的无向图。从顶点1出发,

对它进行深度优先遍历得到的顶点序列是:

进行广度优先遍历得到的顶点序列是:

20、什么是连通图的生成树?

21、什么是哈夫曼(Huffman)树?

22、已知结点a,b,c,d及其权值写出哈夫曼树的构造过程。

a b c d

7 5 2 4

23、已知图G={V , E}

V={ a, b, c, d, e }

E={(a, b),(b, d),(c, d),(d, e),(e, a),(a, c)}

画出图G,画出图G的邻接表。

24、考虑下图:

1)从顶点A出发,求它的深度优先生成树。

2)从顶点E出发,求它的广度优先生成树。

3)根据普里姆(Prim)算法,求它的最小生成树。

25、设有关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的次序

进行排序。

若采用初始步长为4的Shell排序法,则一趟扫描的结果是:

若采用以第一个元素为分界元素的快速排序法,则一趟扫描的结果是:

26、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为

基准而得到的第一次划分结果为:

27、用二分法对一个长度为10的有序表进行查找,填写查找每个元素需要的比较次数。

下标:0 1 2 3 4 5 6 7 8 9

比较次数:

28、若对序列(49,38,27,13,97,76,50,65)采用泡排序法(按照值的大小从小到大)进行排序,请分别在下

表中写出每一趟排序的结果。

原始序列49 38 27 13 97 76 50 65

第1趟的结果

第2趟的结果

第3趟的结果

第4趟的结果

29、给出一组关键字:29,18,25,47,58,12,51,10,分别写出按下列各种排序方法进行排序

时的变化过程:

1)归并排序每归并一次书写一个次序。

2)快速排序每划分一次书写一个次序。

3)堆排序先建成一个堆,然后每从堆顶取下一个元素后,将堆调整一次。

数据结构考试试题及答案

数据结构 一、单选题 1. 计算机算法指的是(b )。 A.程序B.问题求解步骤的描述C.调度方法D.排序方法 2. 以下数据结构中,(a )个是非线性数据结构。 A.树B.字符串C.队D.栈 3. 对于顺序存储的线性表,访问元素和插入元素的时间复杂度分别为:(c )。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 4. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(b )。 A.p->next=s;s->next=p->next B.s->next=p->next; p->next=s C.p->next=s;p->next=s->next D.p->next=s->next; p->next=s 5. n个顶点的有向图中,含有向边的数目最多为( d ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 6. 循环队列存储在数组A[0..m]中,则入队时的操作为( d ) A.rear=rear+1 B.rear=(rear+1)mod(m-1) C.rear=(rear+1)mod m D.rear=(rear+1)mod(m+1) 7. 字符串?ababaabab?的next函数为(d ) A.011232232 B.012341234 C.011122334 D. 011234234 8. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为( b )A.9 B.11 C.15 D.不确定 9. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当以列为主序存放时,元素A[5,8]的首地址为( b )。A.BA+141 B.BA+180 C.BA+222 D.BA+225 10. n个顶点的带权无向连通图的最小生成树包含(b )个顶点 A.n-1 B.n C.n/2 D.n+1 11.有关二叉树的下列说法正确的是( b ) A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 12.关键路径是AOE网中( a )。 A.从源点到汇点的最长路径B.从源点到汇点的最短路径 C.最长回路 D.最短路径(从源点到汇点的所有路径中,经过弧的数目最多的路径) 13.若查找每个记录的概率相等,则在具有n个记录的连续文件中采用顺序查找查找一个记录,其平均查找长度ASL为(c)。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 14.就平均性能而言,目前最好的内部排序方法是(d ) A.冒泡排序B.希尔排序C.堆排序D.快速排序 15.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(d )A.head(tail(LS)) B.tail (head (LS) C.head(tail(head(tail(LS)))) D.head(tail(tail (head (LS)))) 17.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( a ) A. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B. 在第i个结点后插入一个新结点(1≤i≤n)

2017年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 1 ?在数据结构中,从逻辑上可以把数据结构分为 C 。 A. 动态结构和静态结构B?紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2?数据结构在计算机内存中的表示是指 A ° A. 数据的存储结构 B.数据结构 C.数据的逻辑结构 D .数据元 素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A. 逻辑B?存储 C.逻辑和存储 D.物理 4 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C ° A.数据的处理方法B?数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5. 在决定选取何种存储结构时,一般不考虑 A ° A.各结点的值如何B?结点个数的多少 C?对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6. 以下说法正确的是D ° A. 数据项是数据的基本单位 B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据可以有相同的逻辑结构 7. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

数据结构试卷(五)及答案

数据结构试卷(五) 一、选择题(30分) 1.数据的最小单位是()。 (A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量 2.设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为()。 (A) 40,50,20,95 (B) 15,40,60,20 (C) 15,20,40,45 (D) 45,40,15,20 3.设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为()。 (A) 15,25,35,50,20,40,80,85,36,70 (B) 15,25,35,50,80,20,85,40,70,36 (C) 15,25,35,50,80,85,20,36,40,70 (D) 15,25,35,50,80,20,36,40,70,85 4.函数substr(“DATASTRUCTURE”,5,9)的返回值为()。 (A) “STRUCTURE”(B) “DATA” (C) “ASTRUCTUR”(D) “DATASTRUCTURE” 5.设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为()。 (A) O(log2n) (B) O(1) (C) O(n2) (D) O(n) 6.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为N l,……,度数为m的结点数为Nm,则N0=()。 (A) N l+N2+……+Nm (B) l+N2+2N3+3N4+……+(m-1)Nm (C) N2+2N3+3N4+……+(m-1)Nm (D) 2N l+3N2+……+(m+1)Nm 7.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。 (A) 25 (B) 10 (C) 7 (D) 1 8.设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为()。 (A) abedfc (B) acfebd (C) aebdfc (D) aedfcb 9.设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。 (A) n-i (B) n-1-i (C) n+1-i (D) 不能确定 10 设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45 为基准而得到一趟快速排序的结果是()。 (A) 40,42,45,55,80,83 (B) 42,40,45,80,85,88 (C) 42,40,45,55,80,85 (D) 42,40,45,85,55,80 二、填空题(共30分) 1.设有一个顺序共享栈S[0:n-1],其中第一个栈项指针top1的初值为-1,第二个栈顶 指针top2的初值为n,则判断共享栈满的条件是____________________。 2.在图的邻接表中用顺序存储结构存储表头结点的优点是____________________。

数据结构考试题库

数据结构考试题库

绪论 一、填空题 1.数据的逻辑结构被分为集合、(线性结构)、(树形结构)和(图状结构)四种。 2.物理结构是数据结构在计算机中的表示,又称为(存储结构)。 3.数据元素的逻辑结构包括( 线性)、(树)和图状结构3种类型,树形结构和图状结构合称为(非线性结构)。 4.(数据元素)是数据的基本单位,(数据项)是数据不可分割的最小单位。 5.线性结构中元素之间存在(一个对一个)关系,树形结构中元素之间存在(一个对多个)关系,图状结构中元素之间存在(多个对多个)关系。 ?6.数据结构是一门研究非数值计算的程序设计问题中:计算机的(数据元素)以及它们之间的(关系)和(运筹)等的学科。 7.算法的五个重要特性为有穷性、确定性、(输入)、(输出)和(可行性)。 二、选择题 1.数据的不可分割的基本单位是(D)。 A.元素 B.结点 C.数据类型 D.数据项 *2.线性表的逻辑顺序与存储顺序总是一致的,这种说法(B)。 A.正确 B.不正确 C.不确定 D.无法选择 3.线性结构是指数据元素之间存在一种(D)。 精心整理,用心做精品2

A.一对多关系 B.多对多关系 C.多对一关系 D.一对一关系 4.在数据结构中,从逻辑上可以把数据结构分成(A)。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 5.线性表若采用链式存储结构时,要求内存中可用存储单元的 地址( D)。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续不连续都可以 三、简答题 1.算法的特性是什么。 答:有穷性确定性可行性有0或多个输入有1或多个输出线性结构 一、填空题 1.在一个长度为n的线性表中删除第i个元素(1≤i≤n)时,需向前移动(n-i)个元素。 2.从循环队列中删除一个元素时,其操作是(先移动队首指针,后取出元素)。 3.在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(p->next)。 4.在一个单链表中指针p所指向结点的后面插入一个指针q所指向的结点时,首先把(p->next)的值赋给q->next,然后(q->date)的值赋给p->next。 5.从一个栈删除元素时,首先取出(栈顶元素),然后再使(栈顶指针)减1。 6.子串的定位操作通常称做串的(模式匹配)。 精心整理,用心做精品3

数据结构模拟试题及答案

数据结构模拟试题一 一、判断题(每小题1 分,共15分) 1.计算机程序处理的对象可分为数据和非数据两大类。 2.全体自然数按大小关系排成的序列是一个线性表。 3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针字段。 4.顺序栈是一种规定了存储方法的栈。 5.树形结构中的每个结点都有一个前驱。 6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。 7.若某顶点是有向图的根,则该顶点的入度一定是零。 8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。 9.用一维数组表示矩阵可以节省存储空间。 10.广义表的长度与广义表中含有多少个原子元素有关。 11.分块查找的效率与线性表被分成多少块有关。 12.散列表的负载因子等于存入散列表中的结点个数。 13.在起泡排序过程中,某些元素可能会向相反的方向移动。 14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。 15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排列。 二、填空题(每空1分,共15分) 1.顺序表是一种_____________线性表。 2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行___次插入操作。 3.栈和队列的区别在于________的不同。 4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。 5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有___个左指针域为空的结点,有___个右指针域 为空的结点。 6.n个顶点的有根有向图中至少有___条边,至多有___条边。 7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺序表中第___个元素。 8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是 _____。 9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是___次。 10.在高度为3的6阶B-树中,至少有___个关键字,至多有___个关键字。 三、选择题(每题2分,共30分) 1.计算机所处理的数据一般具有某种内在联系性,这是指________。 A.元素和元素之间存在某种关系B.数据和数据之间存在某种关系 C.元素内部具有某种结构D.数据项和数据项之间存在某种关系 2. 假设顺序表目前有4个元素,第i个元素放在R[i]中,1≤i≤4 。若把新插入元素存入R[6],则________。 A.会产生运行错误B.R[1]~R[6]不构成一个顺序表 C.顺序表的长度大于顺序表元素个数,会降低存储空间利用率 D.顺序表元素序号和数组元素下标不一致,会给使用带来麻烦 3. 设H是不带表头结点循环单向链表的表头指针,P是和H同类型的变量。当P指向链表最后一个结点时,_________。A.P所指结点指针字段的值为空B.P的值与H的值相等 C.P所指结点的地址与H的值相等D.P所指结点指针字段的值与H的值相等 4. 栈的定义不涉及数据的__________。 A.逻辑结构B.存储结构C.运算D.逻辑结构和存储结构 5. 设5个元素进栈的顺序是1,2,3,4,5,则出栈的顺序有可能是___________。 A.2,4,1,3,5 B.3,4,1,5,2 C.3,2,4,1,5 D.4,1,3,2,5 6. 若某棵二叉树结点的前序序列和中序序列相同,则该二叉树_________。 A.只有一个结点B.每个结点都没有左孩子C.每个结点都没有右孩子D.不存在 7.对于一棵具有n个结点,度为3的树来说,____________。 A.树的高度至多是n-3 B.树的高度至多是n-2 C.树的最低高度是┏log3(n+1)┓ D.至少在某一层上正好有3个结点 8.n个顶点的有向图如果可以进行拓扑排序,则可以断定该有向图__________。 A.含n个强连通分量B.有唯一的入度为0的顶点C.有多个出度为0的顶点 D.是一个有根有向图 9. 特殊矩阵用行优先顺序表表示,_____________ A.简化了矩阵元素之间的逻辑关系B.便于按行处理矩阵元素

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

数据结构期末考试试题及答案

数据结构期末考试试题及答案 、选择题 评价一个算法时间性能的主要标准是()。1. A、算法易于调试 B、算法易于理解 C、算法的稳定性和正确性 D、算法的时间复杂度 )等五个特性。计算机算法具备有输入、输出、 2. A、可行性、可移植性和可扩充性 B、可行性、确定性和有穷性 C、确定性、有穷性和稳定性 D、XX、稳定性和XX 。带头结点的单链表head为空的判定条件是()3. A、h ead==NULL B、h ead->next==NULL C、head->next==head D、head!=NULL 以下关于线性表的说法不正确的是()。4. A、线性表中的数据元素可以是数字、字符、记录等不同类型。 B、线性表中包含的数据元素个数不是任意的。

C、线性表中的每个结点都有且只有一个直接前趋和直接后继。 D、存在这 样的线性表:表中各结点都没有直接前趋和直接后继。 在顺序表中,只要知道(),就可在相同时间内求出任一结点的存储地址。 5.A、基地址 B、结点大小 C、向量大小 D、基地址和结点大小 ()运算中,使用顺序表比链表好。6. A、插入 B、删除 C、根据序号查找 D、根据元素值查找一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动()个元素7.A、n-i B、n-i+1 C、n-i-1 D、i ()适合作为经常在首尾两端操作线性表的存储结构。8. A、顺序表 B、单链表 C、循环链表 D、双向链表

栈和队列的共同点是() 9. A、都是先进后出 B、都是先进先出 C、只允许在端点处插入和删除元素 D、没有共同点 一个队列的入列序列是1234,则队列的输出序列是()。10. A 、4321 B 、12 3 4 C 、1432 D 、 3241队列与一般的线性表的区别在于()。11. A、数据元素的类型不同 B、运算是否受限制 C、数据元素的个数不同 D、逻辑结构不同 假上溢”现象会出现在()中。12. A、循环队列 B、队列 C、链队列 、顺序队列D.二、填空

数据结构模拟试题3

数据结构模拟试题(4) 一、填空题:06分,每题02分 1、模板类是一种数据抽象,它把________当作参数,可以实现类的复用。 2、假定对长度n=50的有序表进行折半搜索,则对应的判定树中最底下一层的结点数为______个。 3、第i(i=1,2,...,n-1) 趟从参加排序的序列中取出第i个元素,把它插入到由第0个至第i-1个元素组成的有序表中适当的位置,此种排序方法叫做__________排序。 二、单选题:10分,每题02分 4、 设循环队列的结构是 const int MaxSize=100; typedef int DataT ype; struct Queue { DataT ype data[MaxSize]; int front, rear; }; 若有一个Queue类型的队列Q,试问判断队列满的条件应为( )。 A: Q.front==Q.rear; B: Q.front-Q.rear==MaxSize; C: Q.front+Q.rear==MaxSize; D: Q.front==(Q.rear+1) % MaxSize; 5、已知一棵二叉树的广义表表示为a(b(c),d(e(,g(h)),f)),则该二叉树的高度为( )。假定树根结点的高度为0。 A: 3 B: 4 C: 5 D: 6 6、对于长度为n的顺序存储的有序表,若采用折半搜索,则对所有元素的搜索长度中最大的为( )的值向上取整。 A: log2(n+1) B: log2n C: n/2 D: (n+1)/2 7、设无向图的顶点个数为n,则该图最多有()条边。 A: n-1 B: n(n-1)/2

数据结构试卷带答案

数据结构试卷(一) 一、选择题(20分) 1.组成数据的基本单位是( 1.C )。 (A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量 2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是( C )。 (A) 线性结构(B) 树型结构(C) 图型结构(D) 集合 3.数组的逻辑结构不同于下列(D)的逻辑结构。 (A) 线性表(B) 栈(C) 队列(D) 树 4.二叉树中第i(i≥1)层上的结点数最多有(C)个。 (A) 2i (B) 2i(C) 2i-1(D) 2i-1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(.A )。 (A) p->next=p->next->next (B) p=p->next (C) p=p->next->next (D) p->next=p 6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(.C )。 (A) 6 (B) 4 (C) 3 (D) 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C )。 (A) 100 (B) 40 (C) 55 (D) 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8.B (A) 3 (B) 4 (C) 5 (D) 1 9.根据二叉树的定义可知二叉树共有(B)种不同的形态。 (A) 4 (B) 5 (C) 6 (D) 7 10.设有以下四种排序方法,则(B )的空间复杂度最大。 (A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序 二、填空题(30分) 1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元 素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。 2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________, 在链式存储结构上实现顺序查找的平均时间复杂度为___________。 3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有________个指 针域,__________个空指针域。 4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点 B的操作序列为______________________________________。 5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和_________个表 结点。 6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系。 7.设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为__________。 8.设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编 号为8的双亲结点的编号是___________,编号为8的左孩子结点的编号是_____________。 9.下列程序段的功能实现子串t在主串s中位置的算法,要求在下划线处填上正确语句。 int index(char s[ ], char t[ ]) { i=j=0; while(i

数据结构模拟试题9

一.选择题(每小题1分,共8分) 1.设有一个10阶的对称矩阵a,采用压缩存储方式,以行序为主存储,a[0][0]的存储地址为100,每个元素占1个地址空间,则a[3][2]的地址为()。 (A)102 (B)105 (C)106 (D)108 2.森林转换为二叉树后,从根结点开始一直沿着右子数下去,一共有4个结点,表明()。 (A)森林有4棵树(B)森林的最大深度为4 (C)森林的第一棵树有4层(D)森林有4个结点 3.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()。 (A)e (B)2e (C)n^2-e (D)n^2-2e 4.在内部排序中,排序时不稳定的有()。 (A)插入排序(B)冒泡排序(C)快速排序(D)归并排序 5.设一数列的顺序为1,2,3,4,5,通过栈结构不可能派成的顺序数列为()。 (A)3,2,5,4,1 (B)1,5,4,2,3 (C)2,4,3,5,1 (D)4,5,3,2,1 6.一个n条边的连通无向图,其顶点的个数至多为()。 (A)n-1(B)n(C)n+1(D)nlog2n 7.总共3层的完全二叉树,其结点数至少有()个。 (A)3 (B)4 (C)7 (D)8 8.已知某算法的执行时间为(n^3+n^2+n)log2(n+2),n为问题规模,则该算法的时间复杂度是()。 (A)O(n)(B)O(n^2) (C)O(log2n)(D)O(n^3log2n) 二.判断题(每题1分,共8分。正确的打√,错误的打×) 1.只要是算法,肯定可以在有限的时间内完成。() 2.无论是线性表还是树,每一个结点的直接前驱结点最多只有一个。() 3.不论是行优先还是列优先,二维数组的最后一个元素的存储位置是一样的。() 4.直接插入排序时,关键码的比较次数与记录的初始排列无关。() 5.二叉树的先序遍历不可能与中序遍历相同。() 6.任何一棵二叉树,不可能没有叶子结点。() 7.一个稀疏矩阵采用三元组法存储不可能是(5,3,7),(5,4,4),(5,3,5)。() 8.一个无序的顺序表不能采用折半查找法进行查找。()。

数据结构期末考试题及标准答案

数据结构期末考试题及标准答案

————————————————————————————————作者:————————————————————————————————日期:

2012年数据结构期末考试题及答案 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为C。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指A。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的A结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是D。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是C,算法分析的两个主要方面是A。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2)。

s =0; for(I =0;i<n;i++) for(j=0;j<n;j++) s +=B[i][j]; sum =s ; 9.下面程序段的时间复杂度是O(n*m)。 for(i =0;i<n;i++) for(j=0;j<m;j++) A[i][j] =0; 10.下面程序段的时间复杂度是O(log3n)。 i =0; while(i<=n) i =i * 3; 11.在以下的叙述中,正确的是B。 A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着B 。 A.数据元素具有同一特点 B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 13.链表不具备的特点是A。 A.可随机访问任一结点B.插入删除不需要移动元素 C.不必事先估计存储空间D.所需空间与其长度成正比 14.不带头结点的单链表head为空的判定条件是A。

数据结构考试题库

绪论 一、填空题 1.数据的逻辑结构被分为集合、(线性结构)、(树形结构)和(图状结构)四种。 2. 物理结构是数据结构在计算机中的表示,又称为(存储结构)。 3. 数据元素的逻辑结构包括(线性)、(树)和图状结构3 种类型,树形结构和图状结构合称为(非线性结构)。 4. (数据元素)是数据的基本单位,(数据项)是数据不可分割的最小单位。 5. 线性结构中元素之间存在(一个对一个)关系,树形结构中元素之间存在(一个对多个)关系,图状结构中元素之间存在(多个对多个)关系。 ? 6.数据结构是一门研究非数值计算的程序设计问题中:计算机的(数据元素)以及它们之间的(关 系)和(运筹)等的学科。 7. 算法的五个重要特性为有穷性、确定性、(输入)、(输出)和(可行性)。 二、选择题 1. 数据的不可分割的基本单位是(D)。 A.元素 B.结点C数据类型D.数据项 *2. 线性表的逻辑顺序与存储顺序总是一致的,这种说法(B)。 A.正确 B.不正确C不确定 D.无法选择 3. 线性结构是指数据元素之间存在一种(D)。 A.一对多关系 B.多对多关系C多对一关系D.—对一关系

4. 在数据结构中,从逻辑上可以把数据结构分成(A)。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C线性结构和非线性结构D.内部结构和外部结构 5. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址(D)。 A.必须是连续的 B.部分地址必须是连续的 C. 一定是不连续的 D.连续不连续都可以 三、简答题 1. 算法的特性是什么。 答:有穷性确定性可行性有0 或多个输入有 1 或多个输出 线性结构 一、填空题 1?在一个长度为n的线性表中删除第i个元素(1< i产时,需向前移动(n-i)个元素。 2. 从循环队列中删除一个元素时,其操作是(先移动队首指针,后取出元素)。 3?在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(p-> next)。 4. 在一个单链表中指针p所指向结点的后面插入一个指针q所指向的结点时,首先把(p->next)的值赋给q->next,然后(q->date)的值赋给p->next。 5. 从一个栈删除元素时,首先取出(栈顶元素),然后再使(栈顶指针)减1。 6. 子串的定位操作通常称做串的(模式匹配)。 7. 设目标T= ‘ abccdcdccba,模式P= ‘ cdc则第(六)次匹配成功。。 8. 顺序栈S 中,出栈操作时要执行的语句序列中有S->top(--);进栈操作时要执行的语句序列中有S->top(++)。

数据结构考试及答案()

数据结构考试及答案()

作者: 日期: 2

数据结构试题 一、单选题 1、在数据结构的讨论中把数据结构从逻辑上分为(C) A 内部结构与外部结构 B 静态结构与动态结构 C 线性结构与非线性结构 D 紧凑结构与非紧凑结构。 2、采用线性链表表示一个向量时,要求占用的存储空间地址(D) A 必须是连续的B部分地址必须是连续的 C 一定是不连续的D可连续可不连续 3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为 (D )。 An B n/2 C (n-1)/2 D (n+1)/2 4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行(D )o 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; 5、如果想在4092个数据中只需要选择其中最小的5个,采用(C )方法最好。 A 起泡排序 B 堆排序C锦标赛排序 D 快速 排序 6、设有两个串t和p,求p在t中首次出现的位置的运算叫做(B )o A 求子串B模式匹配C 串替换 D 串连接 7、在数组A中,每一个数组元素A[i][j] 占用3个存储字,行下标i从1到8,

列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放 该数组至少需要的存储字数是( C )。 A 80 B 100 C 240 D 270 8、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。 A 栈B队列C循环队列D优先队列 9、一个队列的进队列顺序是1,2, 3, 4 ,则出队列顺序为(C )。 10、在循环队列中用数组A[0.. m-1]存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。 A ( front - rear + 1) % m B (rear - front + 1) %m C ( front - rear + m) % m D ( rear - front + n) % m 11、一个数组元素a[i]与(A )的表示等价。 A * (a+i) B a+i C *a+i D &a+i 12、若需要利用形参直接访问实参,则应把形参变量说明为( B )参数 A指针 B 引用C值 D 变量 13、下面程序段的时间复杂度为(C) for (i nt i=0;i

数据结构模拟考试试卷

数据结构模拟考试试卷(1卷) 一.判断题(下列各题,正确的请在前面的括号内打√;错误的打×) (√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。 (ㄨ)(2)线性表的链式存储结构优于顺序存储。 (√)(3)将中缀表达式转换成后缀表达式是栈的重要应用。 (×)(4)栈和队列都是顺序存储的线性结构。 (×)(5)“DT”是“DA TA”的子串。 (×)(6)在二叉树中,具有一个子女的父结点,在中序遍历的序列中,它没有后继子女结点。 (×)(7)带权图的最小生成树是唯一的。 (√)(8)散列存储法的基本思想是由关键字的值决定数据的存储地址。 (√)(9)希尔排序是不稳定的排序。 (√)(10)具有n个叶子结点的哈夫曼树共有2n-1个结点。 二.填空题 1.线性结构中元素之间存在一对一关系。 2.树形结构和图形结构合称为:非线性结构。 3.顺序表中逻辑上相邻的元素在物理位置上必须相连。 4.在单链表中要在已知结点*P之前插入一个新结点,需找到*P的直接前趋结点的地址,其查找的时间复杂度为O (n) 。 5.同一栈的各元素的类型相同。 6.已知表达式,求它的后缀表达式是栈的典型应用之一。 7.队列在进行出队操作时,首先要判断队列是否为空。 8.设循环队列的头指针front指向队头元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为front==(rear+1)% MAXLEN 。 9.串的链式存储结构简称为链式串。 10.求子串函数SubStr("Today is 30 July,2005",13,4)的结果是: July 。 11.给定如下图所示的二叉树,其层次遍历序列为:ABCEFGH 。 12.将一棵完全二叉树按层次编号,对于任意一个编号为i的结点,该结点右孩子的编号为:2*i+1 。 13.图的遍历有:深度优先搜和 _广度优先搜 __等方法。

数据结构考试题

要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。每张答题纸都要写上姓名和序号。 一、单项选择题(每小题2分,共20分) 1. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 。 A. 数据的处理方法 B. 数据元素的类型 C. 数据元素之间的关系 D. 数据的存储方法 2. 下述函数中对应的渐进时间复杂度(n 为问题规模)最小是 。 A.T 1(n)=nlog 2n+5000n B.T 2(n)=n 2-8000n C.T 3(n)= n n 2 log -6000n D.T 4(n)=7000log 2n 3. 设线性表有n 个元素,以下操作中, 在顺序表上实现比在链表上实现效率更高。 A.输出第i (1≤i ≤n )个元素值 B.交换第1个元素与第2个元素的值 C.顺序输出这n 个元素的值 D.输出与给定值x 相等的元素在线性表中的序号 4. 设n 个元素进栈序列是p 1,p 2,p 3,…,p n ,其输出序列是1,2,3,…,n ,若p 3=3,则p 1的值 。 A.可能是2 B.一定是2 C.不可能是1 D.一定是1 5. 以下各种存储结构中,最适合用作链队的链表是 。 A.带队首指针和队尾指针的循环单链表 B.带队首指针和队尾指针的非循环单链表 C.只带队首指针的非循环单链表 D.只带队首指针的循环单链表 6. 对于链串s (长度为n ,每个结点存储一个字符),查找元素值为ch 的算法的时间复杂度为 。 A.O(1) B.O(n) C.O(n 2) D.以上都不对 7. 设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素a[3][5]的存储地址为1000,则a[0][0]的存储地址是 。 A.872 B.860 C.868 D.864 8. 一个具有1025个结点的二叉树的高h 为 。 A.11 B.10 C.11~1025 D.12~1024 9. 一棵二叉树的后序遍历序列为DABEC ,中序遍历序列为DEBAC ,则先序遍历序列为 。 A.ACBED B.DECAB C.DEABC D.CEDBA 10. 对图1所示的无向图,从顶点1开始进行深度优先遍历;可得到顶点访问序列 。

2015年数据结构期末考试题及答案

2012年数据结构期末考试题及答案 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为C。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指A。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的A结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是D。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是C,算法分析的两个主要方面是A。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2)。

s =0; for(I =0;i<n;i++) for(j=0;j<n;j++) s +=B[i][j]; sum =s ; 9.下面程序段的时间复杂度是O(n*m)。 for(i =0;i<n;i++) for(j=0;j<m;j++) A[i][j] =0; 10.下面程序段的时间复杂度是O(log3n)。 i =0; while(i<=n) i =i * 3; 11.在以下的叙述中,正确的是B。 A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着B 。 A.数据元素具有同一特点 B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 13.链表不具备的特点是A。 A.可随机访问任一结点B.插入删除不需要移动元素 C.不必事先估计存储空间D.所需空间与其长度成正比 14.不带头结点的单链表head为空的判定条件是A。

相关文档
最新文档