《数据结构》期中题库及答案.docx
《《数据结构》期中题库及答案.docx》由会员分享,可在线阅读,更多相关《《数据结构》期中题库及答案.docx(70页珍藏版)》请在冰豆网上搜索。
《数据结构》期中题库及答案
一、判断题:
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
C5 D9
( )10.在含有n个项点有e条边的无向