数据结构期中试题库及答案.docx
《数据结构期中试题库及答案.docx》由会员分享,可在线阅读,更多相关《数据结构期中试题库及答案.docx(71页珍藏版)》请在冰豆网上搜索。
数据结构期中试题库及答案
一、判断题:
1、线性表的逻辑顺序与物理顺序总是一致的。
( )
2、线性表的顺序存储表示优于链式存储表示。
( )
3、线性表假设采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
( )
4、二维数组是其数组元素为线性表的线性表。
( )
5、每种数据构造都应具备三种根本运算:
插入、删除和搜索。
( )
6、数据构造概念包括数据之间的逻辑构造,数据在计算机中的存储方式和数据的运算三个
方面。
( )
7、线性表中的每个结点最多只有一个前驱和一个后继。
〔 〕
8、线性的数据构造可以顺序存储,也可以存储。
非线性的数据构造只能存储。
〔 〕
9、栈和队列逻辑上都是线性表。
〔 〕
10、单链表从任何一个结点出发,都能访问到所有结点 〔 〕
11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。
〔 〕
12、快速排序是排序算法中最快的一种。
〔 〕
13、多维数组是向量的推广。
〔 〕
14、一般树和二叉树的结点数目都可以为0。
〔 〕
15、直接选择排序是一种不稳定的排序方法。
〔 〕
16、98、对一个堆按层次遍历,不一定能得到一个有序序列。
〔 〕
17、在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,那么有n0=nk+1。
〔 〕
18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。
〔 〕
19、堆栈在数据中的存储原那么是先进先出。
〔 〕
20、队列在数据中的存储原那么是后进先出。
〔 〕
21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。
〔 〕
22、哈夫曼树一定是满二叉树。
〔 〕
23、程序是用计算机语言表述的算法。
〔 〕
24、线性表的顺序存储构造是通过数据元素的存储地址直接反映数据元素的逻辑关系。
〔 〕
25、用一组地址连续的存储单元存放的元素一定构成线性表。
〔 〕
26、堆栈、队列和数组的逻辑构造都是线性表构造。
〔 〕
27、给定一组权值,可以唯一构造出一棵哈夫曼树。
〔 〕
28、只有在初始数据为逆序时,冒泡排序所执行的比拟次数最多。
〔 〕
29、希尔排序在较率上较直接接入排序有较大的改良。
但是不稳定的。
〔 〕
30、在平均情况下,快速排序法最快,堆积排序法最节省空间。
〔 〕
31、快速排序法是一种稳定性排序法。
〔 〕
32、算法一定要有输入和输出。
〔 〕
33、算法分析的目的旨在分析算法的效率以求改良算法。
〔 〕
34、非空线性表中任意一个数据元素都有且仅有一个直接后继元素。
〔 〕
35、数据的存储构造不仅有顺序存储构造和链式存储构造,还有索引构造与散列构造。
〔 〕
36、假设频繁地对线性表进展插入和删除操作,该线性表采用顺序存储构造更适宜。
〔 〕
37、假设线性表采用顺序存储构造,每个数据元素占用4个存储单元,第12个数据元素的存储地址为144,那么第1个数据元素的存储地址是101。
〔 〕
38、假设长度为n的线性表采用顺序存储构造,删除表的第i个元素之前需要移动表中n-i+1个元素。
〔 〕
39、符号p->next出现在表达式中表示p所指的那个结点的容。
〔 〕
40、要将指针p移到它所指的结点的下一个结点是执行语句p←p->next。
〔 〕
41、假设某堆栈的输入序列为1,2,3,4,那么4,3,1,2不可能是堆栈的输出序列之一。
〔 〕
42、线性链表中各个链结点之间的地址不一定要连续。
〔 〕
43、程序就是算法,但算法不一定是程序。
〔 〕
44、线性表只能采用顺序存储构造或者链式存储构造。
〔 〕
45、线性表的链式存储构造是通过指针来间接反映数据元素之间逻辑关系的。
〔 〕
46、除插入和删除操作外,数组的主要操作还有存取、修改、检索和排序等。
〔 〕
47、稀疏矩阵中0元素的分布有规律,因此可以采用三元组方法进展压缩存储。
〔 〕
48、不管堆栈采用何种存储构造,只要堆栈不空,可以任意删除一个元素。
〔 〕
49、确定串T在串S中首次出现的位置的操作称为串的模式匹配。
〔 〕
50、深度为h的非空二叉树的第i层最多有2i-1 个结点。
〔 〕
51、满二叉树也是完全二叉树。
〔 〕
52、一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。
〔 〕
53、非空二叉排序树的任意一棵子树也是二叉排序树。
〔 〕
54、对一棵二叉排序树进展前序遍历一定可以得到一个按值有序的序列。
〔 〕
55、一个广义表的深度是指该广义表展开后所含括号的层数。
〔 〕
56、散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。
〔 〕
57、序列初始为逆序时,冒泡排序法所进展的元素之间的比拟次数最多。
〔 〕
58、指针P指向键表L中的某结点,执行语句P=P-〉next不会删除该链表中的结点。
〔 〕
59、在链队列中,即使不设置尾指针也能进展入队操作。
〔 〕
60、如果一个串中的所有字符均在另一串中出现,那么说前者是后者的子串。
〔 〕
61、设与一棵树T所对应的二叉树为BT,那么与T中的叶子结点所对应的BT中的结点也一定是叶子结点。
〔 〕
62、假设图G的最小生成树不唯一,那么G的边数一定多于n-1,并且权值最小的边有多条〔其中n为G的顶点数〕。
〔 〕
63、给出不同的输入序列建造二叉排序树,一定得到不同的二叉排序树。
〔 〕
64、由于希尔排序的最后一趟与直接插入排序过程一样,因此前者一定比后者花费的时间多。
〔 〕
65、程序越短,程序运行的时间就越少。
〔 〕
66、采用循环链表作为存储构造的队列就是循环队列。
〔 〕
67、堆栈是一种插入和删除操作在表的一端进展的线性表。
〔 〕
68、一个任意串是其自身的子串。
〔 〕
69、哈夫曼树一定是完全二叉树。
〔 〕
70、带权连通图中某一顶点到图中另一定点的最短路径不一定唯一。
〔 〕
71、折半查找方法可以用于按值有序的线性链表的查找。
〔 〕
72、稀疏矩阵压缩存储后,必会失效掉随机存取功能。
〔 〕
73、由一棵二叉树的前序序列和后序序列可以唯一确定它。
〔 〕
74、在n个结点的元向图中,假设边数在于n-1,那么该图必是连通图。
〔 〕
75、在完全二叉树中,假设某结点元左孩子,那么它必是叶结点。
〔 〕
76、假设一个有向图的邻接矩阵中,对角线以下元素均为0,那么该图的拓扑有序序列必定存在。
〔 〕
77、树的带权路径长度最小的二叉树中必定没有度为1的结点。
〔 〕
78、二叉树可以用0≤度≤2的有序树来表示。
〔 〕
79、一组权值,可以唯一构造出一棵哈夫曼树。
( )
80、101,88,46,70,34,39,45,58,66,10〕是堆;〔 〕
81、将一棵树转换成二叉树后,根结点没有左子树;〔 〕
82、用树的前序遍历和中序遍历可以导出树的后序遍历;〔 〕
83、在非空线性链表中由p所指的结点后面插入一个由q所指的结点的过程是依次执行语句:
q->next=p->next;p->next=q。
〔 〕
84、非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:
p->prior=q, p->next=q->next,q->next=p,q->prior->next←p。
〔 〕
85、删除非空链式存储构造的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:
p=top,top= p->next,free (p)。
( )
86、哈希的查找无需进展关键字的比拟。
〔 〕
87、一个好的哈希函数应使函数值均匀的分布在存储空间的有效地址围,以尽可能减少冲突。
〔 〕
88、排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素〔或记录〕的任意序列,重新排列成一个按关键字有序的序列。
〔 〕
89、队列是一种可以在表头和表尾都能进展插入和删除操作的线性表。
〔 〕
90、在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不与表的个数有关,而与每一块中的元素个数有关。
〔 〕
91、对于有向图,顶点的度分为入度和出度,入度是以该顶点为终点的入边数目;出度是以该顶点为起点的出边数目,该顶点的度等于其入度和出度之和。
〔 〕
92、无向图的邻接矩阵是对称的有向图的邻接矩阵是不对称的。
〔 〕
93、具有n个顶点的连通图的生成树具有n-1条边〔 〕
二、填空题:
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),那么Aij的存储地址loc(Aij)=____________________。
35、稀疏矩阵一般采用__________方法进展压缩存储。
36、稀疏矩阵可用_________进展压缩存储,存储时需存储非零元的________、________、________。
37、假设矩阵中所有非零元素都集中在以主对角线为中心的带状区域中,区域外的值全为0,那么称为__________。
38、假设一个n 阶矩阵A中的元素满足:
Aij=Aji (0<=I ,j<=n-1)那么称A为____________矩阵;假设主对角线上方(或下方)的所有元素均为零时,称该矩阵为______________。
39、对于上三角形和下三角形矩阵,分别以按行存储和按列存储原那么进展压缩存储到数组M[k]中,假设矩阵中非0元素为Aij,那么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、在索引查找中,首先查找________,然后查找相应的_________,整个索引查找的平均查找长度等于查找索引表的平均长度与查找相应子表的平均查找长度的_______。
三、选择题:
〔 〕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