数据结构题库Word下载.docx
《数据结构题库Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构题库Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
(1<
)
{p*;
}
(s);
}——O(n)
(2)s2(n)
00;
);
)
;
——O(n2)
1.下述算法的功能是什么?
(1)
(1)返回结点*p的直接前趋结点地址。
(2)交换结点*p和结点*q(p和q的值不变)。
1.对给定的一组权值W=(5,2,9,11,8,3,7),试构造相应的哈夫曼树,并计算它的带权路径长度。
【解答】构造的哈夫曼树如图所示。
2×
3+8×
2+11×
2=120
2.已知散列函数H(k)12,键值序列为(25,37,52,43,84,99,120,15,26,11,70,82),采用链表法处理冲突,试构造散列表。
【解答】H(25)=1,H(37)=1,H(52)=4,H(43)=7,H(84)=0,H(99)=3,
H(120)=0,H(15)=3,H(26)=2,H(11)=11,H(70)=10,H(82)=10
构造的开散列表如下:
(1)
(0<
(0<
A[i][j]
——O(n*m)
(2)
0;
[i][j];
;
——O(n2)
(3);
——O
(1)
3.设无向图G(所下图所示),要求给出从1出发对该图进行深度优先和广度优先遍历的序列。
深度:
125364,广度:
123456
(不唯一)
4.已知无向图G的邻接表如图所示,分别写出从顶点1出发的深度遍历和广度遍历序列。
【解答】深度优先遍历序列为:
1,2,3,4,5,6
广度优先遍历序列为:
1,2,4,3,5,6
二、判断正误(7小题,共14分)
1.线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。
(√)
2.一个栈的输入序列为:
A,B,C,D,可以得到输出序列:
C,A,B,D。
(ㄨ)
3.稀疏矩阵压缩存储后,必会失去随机存取功能。
(√)
4.如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。
(
√)
5.用邻接矩阵存储图,所占用的存储空间大小只与图中顶点个数有关,而与图的边数无关。
6.向二叉排序树中插入一个结点需要比较的次数可能大于该二叉树的高度。
ㄨ)
7.
逻辑结构与数据元素本身的内容和形式无关。
1.对链表进行插入和删除操作时不必移动链表中结点。
3.如果两个串含有相同的字符,则说明它们相等。
4.在线索二叉树中,任一结点均有指向其前趋和后继的线索。
ㄨ)
5.带权无向图的最小生成树是唯一的。
6.稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。
7.无向图的邻接矩阵一定是对称的,有向图的邻接矩阵一定是不对称的。
8.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
1.由树转化成二叉树,该二叉树的右子树不一定为空。
2.稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。
4.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。
(√
)
5.设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(2n)。
6.每种数据结构都具备三个基本操作:
插入、删除和查找。
1.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
(×
2.在线性表的链式存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。
√
3.链表的每个结点都恰好包含一个指针域。
4.有向图的邻接表和逆邻接表中表结点的个数不一定相等。
5.对连通图进行深度优先遍历可以访问到该图中的所有顶点。
6.当装填因子小于1时,向散列表中存储元素时不会引起冲突。
2.
线性表的逻辑顺序和存储顺序总是一致的。
3.非空的双向循环链表中任何结点的前驱指针均不为空。
4.子串“”在主串“”中的位置为2。
5.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的,也不是树形的。
7.用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。
9.当装填因子小于1时,向散列表中存储元素时不会引起冲突。
10.散列技术的查找效率主要取决于散列函数和处理冲突的方法。
1.线性结构的基本特征是:
每个元素有且仅有一个直接前驱和一个直接后继。
(ㄨ
2.稀疏矩阵压缩存储后,必会失去随机存取功能。
5.对任意一个图,从某顶点出发进行一次深度优先或广度优先遍历,可访问图的所有顶点。
6.当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。
7.数据的逻辑结构和数据的存储结构是相同的。
8.数据的存储结构是数据的逻辑结构的存储映像。
三、单项选择题(8小题,共16分)
1.下面关于线性表的叙述错误的是(
D)。
A线性表采用顺序存储必须占用一片连续的存储空间
B线性表采用链式存储不必占用一片连续的存储空间
C线性表采用链式存储便于插入和删除操作的实现
D线性表采用顺序存储便于插入和删除操作的实现
2.单链表的存储密度(
C
)。
A.大于1
B.等于1
C.小于1
D.不能确定
3.
设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为(
B)。
A
5,3,4,6,1,2
B
3,2,5,6,4,1
C
3,1,2,5,4,6
D
1,5,4,6,2,3
4.若串"
"
,其子串的数目最多是:
C)。
A.35
B.36
C.37
D.38
5.二叉排序树中,最小值结点的(A)。
A左指针一定为空
B右指针一定为空
C左、右指针均为空
D左、右指针均不为空
6.在散列函数H(k)=km中,一般来讲,m应取(C)。
A奇数
B偶数
C素数
D充分大的数
7.用直接插入排序对下面四个序列进行由小到大排序,元素比较次数最少的是(
B
)。
A94,32,40,90,80,46,21,69
B21,32,46,40,80,69,90,94
C32,40,21,46,69,94,90,80
D90,69,80,46,21,32,94,40
1.使用双链表存储线性表,其优点是可以(B)。
A提高查找速度
B更方便数据的插入和删除
C节约存储空间
D很快回收存储空间
2.链表不具有的特点是(B)
A.不必事先估计存储空间
B.可随机访问任一元素
C.插入删除不需要移动元素
D.所需空间与线性表长度成正比
3.下面关于线性表的叙述错误的是(
D
4.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较(
D)个结点。
An
B2
C
(1)/2
D
(1)/2
5.在C或语言中,一个顺序栈一旦被声明,其占用空间的大小(
A.已固定
B.不固定
C.可以改变
D.动态变化
6.
两个字符串相等的充要条件是(C
A
两个字符串的长度相等
两个字符串中对应位置上的字符相等
同时具备(A)和(B)两个条件
以上答案都不对
8.设某二叉树中度数为0的结点数为N0,度数为1的结点数为,度数为2的结点数为N2,则下列等式成立的是(
C)。
N01+1
N02
C
N02+1
N0=2N1
9.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为(
A.e
B.2e
C.n2-e
D.n2-2e
10.设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为(
N1-1
N2-1
N23
N13
11.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(D
空或只有一个结点
B
高度等于其结点数
任一结点无左孩子
任一结点无右孩子
12.在堆排序和快速排序中,如果从平均情况下排序的速度最快的角度来考虑应最好选择(
快速
)排序,如果从节省存储空间的角度来考虑则最好选择(
堆
)排序。
13.设有以下四种排序方法,则(
B
)的空间复杂度最大。
冒泡排序
快速排序
堆排序
D
希尔排序
14.数据结构中,与所使用的计算机无关的是数据的(C)
A.存储结构
B.物理结构
C.逻辑结构
D.物理和存储结构
15.数据的基本单位是(
A.
数据结构
B.
数据元素
C.
数据项