数据结构第五章查找答案
数据结构第五章 查找 答案
数据结构与算法上机作业第五章查找
一、选择题
1、若构造一棵具有n个结点的二叉排序树,在最坏情况下,其高度不超过 B 。
A. n/2
B. n
C. (n+1)/2
D. n+1
2、分别以下列序列构造二叉排序数(二叉查找树),与用其他3个序列所构造的结果不同的是 C :
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)
3、不可能生成下图所示的二叉排序树的关键字的序列是 A 。
A. 4 5 3 1 2
B. 4 2 5 3 1
C. 4 5 2 1 3
D. 4 2 3 1 5
4、在二叉平衡树中插入一个结点造成了不平衡,设最低的不平衡点为A,并已知A的左孩子的平衡因子为0,右孩子的平衡因子为1,则应作 C 型调整使其平衡。
A. LL
B. LR
C. RL
D. RR
5、一棵高度为k的二叉平衡树,其每个非叶结点的平衡因子均为0,则该树共有 C 个结点。
A. 2k-1-1
B. 2k-1+1
C. 2k-1
D. 2k+1
6、具有5层结点的平衡二叉树至少有 A 个结点。
A. 12
B. 11
C. 10
D. 9
7、下面关于B-和B+树的叙述中,不正确的是 C 。
A. B-树和B+树都是平衡的多叉树
B. B-树和B+树都可用于文件的索引结构
C. B-树和B+树都能有效地支持顺序检索
D. B-树和B+树都能有效地支持随机检索
数据结构第四五六七章作业答案
数据结构第四五六七章作业答案
数据结构第四、五、六、七章作业答案
第四章和第五章
一、填空题
1.不包含任何字符(长度为0)的字符串称为空字符串;由一个或多个空格(仅空格
字符)组成的字符串称为空白字符串。
2.设s=“a;/document/mary.doc”,则strlen(s)=20,“/”的位置为3。
3.子串的定位操作称为串模式匹配;匹配的主字符串称为目标字符串,子字符串称为
模式。
4、串的存储方式有顺序存储、堆分配存储和块链存储
5.有一个二维数组a[0:8,1:5],每个数组元素用四个相邻字节存储,内存用字节寻址。假设存储阵列元素a[0,1]的地址为100,如果以主行顺序存储,则a[3,5]的地址为176,[5,3]的地址为208。如果按列存储,[7,1]的地址为128,[2,4]的地址为216。
6、设数组a[1…60,1…70]的基地址为2048,每个元素占2个存储单元,若以列序为
主序顺序存储,则元素a[32,58]的存储地址为8950。7、三元素组表中的每个结点对应于
稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素的行下标、列下标和元
素值。8、二维数组a[10][20]采用列序为主方式存储,每个元素占10个存储单元,且
a[0][0]的存储地址是2000,则a[6][12]的地址是3260
9.已知二维数组a[20][10]按行顺序存储,每个元素占2个存储单元,a[10][5]的存
储地址为1000,则a[18][9]的存储地址为116810。已知二维数组a[10][20]按行顺序存储,每个元素占2个存储单元,a[0][0]的存储地址为1024,则a[6][18]的地址为130011,两个字符串相等。充要条件是长度相等,相应位置的字符相同。
数据结构查找习题及答案
第九章查找
一、选择题
1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A. (n-1)/2 B. n/2 C. (n+1)/2 D. n
2. 下面关于二分查找的叙述正确的是 ( )
A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列
B. 表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储
3. 用二分(对半)查找表的元素的速度比用顺序法( )
A.必然快 B. 必然慢 C. 相等 D. 不能确定
4. 具有12个关键字的有序表,折半查找的平均查找长度()
A. 3.1
B. 4
C. 2.5
D. 5
5.当采用分块查找时,数据的组织方式为 ( )
A.数据分成若干块,每块内数据有序
B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块
C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
D. 数据分成若干块,每块(除最后一块外)中数据个数需相同
6. 二叉查找树的查找效率与二叉树的( (1))有关, 在 ((2))时其查找效率最低
(1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置
(2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。
7. 对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找失
败,它们的平均查找长度是((1)) ,对于查找成功,他们的平均查找长度是((2))供选择的答案:
数据结构练习题及答案
数据结构练习题(一)
一、单选题
1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
2.用链接方式存储的队列,在进行插入运算时( )。
A. 仅修改头指针
B. 头、尾指针都要修改
C. 仅修改尾指针
D.头、尾指针可能都要修改
3.以下数据结构中( )是非线性结构。
A. 队列
B. 栈
C. 线性表
D. 二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),
每个元素占一个空间,问A[3][3](10)存放在()位置。脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
5.树最适合用来表示( )。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
6.二叉树的第k层的结点数最多为( )。
A.2k-1 B.2K+1 C.2K-1 D. 2k-1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二
分查找,则查找A[3]的比较序列的下标依次为( )。
A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3
8.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)
=K %9作为散列函数,则散列地址为1的元素有()个。
A.1 B.2 C.3 D.4
9.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5
B.6
C.7
《数据结构及其应用》笔记含答案 第五章_树和二叉树
第5章树和二叉树
一、填空题
1、指向结点前驱和后继的指针称为线索。
二、判断题
1、二叉树是树的特殊形式。()
2、完全二叉树中,若一个结点没有左孩子,则它必是叶子。()
3、对于有N个结点的二叉树,其高度为。()
4、满二叉树一定是完全二叉树,反之未必。()
5、完全二叉树可采用顺序存储结构实现存储,非完全二叉树则不能。()
6、若一个结点是某二叉树子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍历序列中的第一个结点。()
7、不使用递归也可实现二叉树的先序、中序和后序遍历。()
8、先序遍历二叉树的序列中,任何结点的子树的所有结点不一定跟在该结点之后。()
9、赫夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。()
110、在赫夫曼编码中,出现频率相同的字符编码长度也一定相同。()
三、单项选择题
1、把一棵树转换为二叉树后,这棵二叉树的形态是(A)。
A.唯一的B.有多种
C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子
解释:因为二叉树有左孩子、右孩子之分,故一棵树转换为二叉树后,这棵二叉树的形态是唯一的。
2、由3个结点可以构造出多少种不同的二叉树?(D)
A.2 B.3 C.4 D.5
解释:五种情况如下:
3、一棵完全二叉树上有1001个结点,其中叶子结点的个数是(D)。
A.250 B. 500 C.254 D.501
解释:设度为0结点(叶子结点)个数为A,度为1的结点个数为B,度为2的结点个数为C,有A=C+1,A+B+C=1001,可得2C+B=1000,由完全二叉树的性质可得B=0或1,又因为C为整数,所以B=0,C=500,A=501,即有501个叶子结点。
数据结构练习题及答案
数据结构练习题(一)
一、单选题
1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
2.用链接方式存储的队列,在进行插入运算时( )。
A. 仅修改头指针
B. 头、尾指针都要修改
C. 仅修改尾指针
D.头、尾指针可能都要修改
3.以下数据结构中( )是非线性结构。
A. 队列
B. 栈
C. 线性表
D. 二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),
每个元素占一个空间,问A[3][3](10)存放在()位置。脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
5.树最适合用来表示( )。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
6.二叉树的第k层的结点数最多为( )。
A.2k-1 +1 D. 2k-1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二
分查找,则查找A[3]的比较序列的下标依次为( )。
A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3
8.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)
=K %9作为散列函数,则散列地址为1的元素有()个。
A.1 B.2 C.3 D.4
9.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
二、填空题
1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
数据结构教程习题答案 李蓉蓉 安杨等编著第三版 第五章答案
5.3
/************************************
题目:设有三对角矩阵A,将其三对角线上元素逐行存于数组B中求:1:用i,j表示k的下标变换公式
k = 2*i+j (下标从0开始)
2:用k表示i,j的下标公式(下标从0开始)
i = (k+1)/3 :(此处取整)
j = k-2*i;
= k-(k+1)/3*2 (此处别化简)
什么是三对角矩阵?
在线性代数中,一个三对角矩阵是矩阵的一种,
它“几乎”是一个对角矩阵。准确来说:一个三对角矩阵的非零系数在主对角线上,
或比主对角线低一行的对角线上,或比主对角线高一行的对角线上。
例如,下面的是三对角矩阵:
1 4 0 0
3 4 1 0
0 2 3 4
0 0 1 3
********************************************************************* *****/
/*****************下面是具体的实现*************/
# include <stdio.h>
# define size 50
//函数的声明
void translate(int *b, int a[size][size], int n);
main()
{
int n;
int i, j, k = 0;
int a[size][size];
int b[size];
printf("输入矩阵的阶数\n");
scanf("%d", &n);
printf("输入%d个数据\n", 2*(n-1)+(n-1)+1); //2*(n-1)+(n-1)+1的来历是由上面的公式(2*i+j)推来
数据结构第五章习题课
1、特殊矩阵和稀疏矩阵哪一种压缩存储后会失去随机存取的功能?为什么?
答:后者在采用压缩存储后将会失去随机存储的功能。因为在这种矩阵中,非
零元素的分布是没有规律的,为了压缩存储,就将每一个非零元素的值和它所
在的行、列号作为一个结点存放在一起,这样的结点组成的线性表中叫三元组
表,它已不是简单的向量,所以无法用下标直接存取矩阵中的元素。
2、二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下
标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的
起始地址与M按列存储时元素()的起始地址相同。
A、M[2][4]
B、M[3][4]
C、M[3][5]
D、M[4][4]
为第
3、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a
11
的地址为()。
一元素,其存储地址为1,每个元素占一个地址空间,则a
85
A. 13
B. 33
C. 18
D. 40
4、若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线
(i<j)
上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定a
ij
的位置k的关系为( )。
A. i*(i-1)/2+j
B. j*(j-1)/2+i
C. i*(i+1)/2+j
D. j*(j+1)/2+i
5、设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序
(1≤i,j≤n,且i≤j)
存放在一维数组B[1..n(n+1)/2]中,对上述任一元素a
ij
在B中的位置为( )。
A. i(i-l)/2+j
数据结构(查找)练习题与答案
1、静态查找表和动态查找表的区别是()。
A.所包含的数据元素的类型不同
B.施加其上的操作不同
C.它们的逻辑结构相同
D.以上都不对
正确答案:B
解析: B、若在查找的同时对表做修改操作(如插入和删除),则相应的查找表称之
为动态查找表。若在查找中不涉及表的修改操作,则相应的查找表称之为静态查找表。
2、顺序查找法适合于存储结构为()的线性表。
A.索引存储
B.压缩存储
C.顺序存储或链式存储
D.哈希存储
正确答案:C
解析: C、顺序查找可以从前向后或从后向前依次查找,既适合于顺序存储结构也适
合于链式存储结构。
3、采用顺序查找方法查找长度为n的顺序表时,在等概率时成功查找的平均查找长度为()。
A.(n-1)/2
B.n
C.n/2
D.(n+1)/2
正确答案:D
解析: D、顺序查找时,元素ai需i次比较,成功查找的平均查找长度=(1+2+…
+n)/n=(n+1)/2。
4、采用顺序查找方法查找长度为n的顺序表时,在等概率时不成功查找的平均查找长度为()。
A.(n-1)/2
B.n
C.n/2
D.(n+1)/2
正确答案:B
解析: B、当查找的元素不在线性表中时,均需要n次元素之间的比较。
5、适合于折半查找的数据组织方式是()。
A.以链表存储的有序线性表
B.以顺序表存储的有序线性表
C.以链表存储的线性表
D.以顺序表存储的线性表
正确答案:B
解析: B、折半查找的数据必须是有序的。另外,折半查找中需要确定查找区间,这要求存储结构最好具有随机存取特性,而顺序表满足这个特性。
6、采用折半查找方法查找长度为n的线性表,当n很大时,在等概率时不成功查找的平均查找长度为()。
数据结构习题五(答案)
数据结构习题(5)
学号________ 姓名_______ 课堂号(___________)
1.选择题
1)对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( A )
A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2
2)下面关于二分查找的叙述正确的是 ( D )
A. 表必须有序,表可以顺序方式存储,也可以链表方式存储
B. 表必须有序且表中数据必须是整型,实型或字符型
C. 表必须有序,而且只能从小到大排列
D. 表必须有序,且表只能以顺序方式存储
3)折半查找的时间复杂性为(D)
A. O(n2)
B. O(n)
C. O(nlog(n))
D. O(log(n))
4)概率不同的有序表,最适合的查找算法是( C )
A.顺序查找B.折半查找C.静态树表查找 D.索引顺序表查找
5)平均查找长度最短的查找方法是____C________。
A.折半查找 B.顺序查找 C.哈希查找 4.其他
6)折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,
则它将依次与表中A比较大小,查找结果是失败。
A.20,70,30,50 B.30,88,70,50 C.20,50 D.30,88,50
7)当采用分快查找时,数据的组织方式为 ( B )
A.数据分成若干块,每块内数据有序
B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块
C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
数据结构查找习题及答案
第9章查找
一、单选题
1.对一棵二叉搜索树按〔〕遍历,可得到结点值从小到大的排列序列。
A. 先序
B. 中序
C. 后序
D. 层次
2.从具有n个结点的二叉搜索树中查找一个元素时,在平均情况下的时间复杂度大致为〔〕。
A. O(n)
B. O(1)
C. O(logn)
D. O(n2)
3.从具有n个结点的二叉搜索树中查找一个元素时,在最坏情况下的时间复杂度为〔〕。
A. O(n)
B. O(1)
C. O(logn)
D. O(n2)
4.在二叉搜索树中插入一个结点的时间复杂度为〔〕。
A. O(1)
B. O(n)
C. O(logn)
D. O(n2)
5.分别以下列序列构造二叉搜索树,与用其它三个序列所构造的结果不同的是〔〕。
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〕
6.在一棵AVL树中,每个结点的平衡因子的取值X围是〔〕。
A. -1~1
B. -2~2
C. 1~2
D. 0~1
7.根据一组关键字〔56,42,50,64,48〕依次插入结点生成一棵A VL树,当插入到值
为〔〕的结点时需要进行旋转调整。
A. 42
B. 50
C. 64
D. 48
8.深度为4的A VL树至少有〔〕个结点。
A.9 B.8C.7D.6
9.一棵深度为k的A VL树,其每个分支结点的平衡因子均为0,则该平衡二叉树共有〔〕
个结点。
A.2k-1-1
B.2k-1+1
C.2k-1
数据结构练习题及答案
数据结构练习题(一)
一、单选题
1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
2.用链接方式存储的队列,在进行插入运算时( )。
A. 仅修改头指针
B. 头、尾指针都要修改
C. 仅修改尾指针
D.头、尾指针可能都要修改
3.以下数据结构中( )是非线性结构。
A. 队列
B. 栈
C. 线性表
D. 二叉树
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),
每个元素占一个空间,问A[3][3](10)存放在()位置。脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
5.树最适合用来表示( )。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
6.二叉树的第k层的结点数最多为( )。
A.2k-1 B.2K+1 C.2K-1 D. 2k-1
7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二
分查找,则查找A[3]的比较序列的下标依次为( )。
A. 1,2,3
B. 9,5,2,3
C. 9,5,3
D. 9,4,2,3
8.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)
=K %9作为散列函数,则散列地址为1的元素有()个。
A.1 B.2 C.3 D.4
9.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5
B.6
C.7
数据结构与算法第5章课后答案
page: 1
The Home of jetmambo - 第 5 章树和二叉树
第 5 章树和二叉树
(1970-01-01) -
第 5 章树和二叉树
课后习题讲解
1. 填空题
⑴树是n(n≥0)结点的有限集合,在一棵非空树中,有()个根结点,其余的结点分成m (m>0)个()的
集合,每个集合都是根结点的子树。
【解答】有且仅有一个,互不相交
⑵树中某结点的子树的个数称为该结点的(),子树的根结点称为该结点的(),该结点称为其子树根结点的
()。
【解答】度,孩子,双亲
⑶一棵二叉树的第i(i≥1)层最多有()个结点;一棵有n(n>0)个结点的满二叉树共有()个叶子结
点和()个非终端结点。
【解答】2i-1,(n+1)/2,(n-1)/2
【分析】设满二叉树中叶子结点的个数为n0,度为2的结点个数为n2,由于满二叉树中不存在度为1的结点,所以
n=n0+n2;由二叉树的性质n0=n2+1,得n0=(n+1)/2,n2=(n-1)/2。
⑷设高度为h的二叉树上只有度为0和度为2的结点,该二叉树的结点数可能达到的最大值是(),最小值是(
)。
【解答】2h -1,2h-1
【分析】最小结点个数的情况是第1层有1个结点,其他层上都只有2个结点。
⑸深度为k的二叉树中,所含叶子的个数最多为()。
【解答】2k-1
【分析】在满二叉树中叶子结点的个数达到最多。
⑹具有100个结点的完全二叉树的叶子结点数为()。
【解答】50
【分析】100个结点的完全二叉树中最后一个结点的编号为100,其双亲即最后一个分支结点的编号为50,也就是
数据结构查找与排序练习题答案——查找排序练习题答案
数据结构查找与排序练习题答案
一、选择题
1.对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2
2.适用于折半查找的表的存储方式及元素排列要求为( )
A.链接方式存储,元素无序 B.链接方式存储,元素有序
C.顺序方式存储,元素无序D.顺序方式存储,元素有序
3.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )
A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减4.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为()。
A.35/12 B.37/12 C.39/12 D.43/12
5.折半查找的时间复杂性为()
A. O(n2)
B. O(n)
C. O(nlogn)
D. O(logn)
6.对有18个元素的有序表作折半查找,则查找A[3]的比较序列的下标为()
A.1,2,3
B.9,5,2,3
C.9,5,3
D.9,4,2,3
7.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经()次比较后查找成功。
A.2
B. 3
C. 4
D.12
8.用n个键值构造一棵二叉排序树,最低高度为()
A.n/2
B.、n
C.logn
D.logn+1
9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( ) A.(100,80, 90, 60, 120,110,130)
第5章 数据结构与算法 习题与答案
第五章习题
(1)复习题
1、试述数据和数据结构的概念及其区别。
数据是对客观事物的符号表示,是信息的载体;数据结构则是指互相之间存在着一种或多种关系的数据元素的集合。(P113)
2、列出算法的五个重要特征并对其进行说明。
算法具有以下五个重要的特征:有穷性:一个算法必须保证执行有限步之后结束。确切性:算法的每一步骤必须有确切的定义。输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件。输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法没有实际意义。可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。(P115)
3、算法的优劣用什么来衡量?试述如何设计出优秀的算法。
时间复杂度空间复杂度(P117)
4、线性和非线性结构各包含哪些种类的数据结构?线性结构和非线性结构各有什么特点?线性结构用于描述一对一的相互关系,即结构中元素之间只有最基本的联系,线性结构的特点是逻辑结构简单。所谓非线性结构是指,在该结构中至少存在一个数据元素,有两个或两个以上的直接前驱(或直接后继)元素。树型和图型结构就是其中十分重要的非线性结构,可以用来描述客观世界中广泛存在的层次结构和网状结构的关系。(P118 P122)
5、简述树与二叉树的区别;简述树与图的区别。
树用来描述层次结构,是一对多或多对一的关系;二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。二叉树是有序的,即若将其左、右子树颠倒,就成为另一棵不同的二叉树。图也称做网,是一种比树形结构更复杂的非线性结构。在图中,任意两个节点之间都可能相关,即节点之间的邻接关系可以是任意的,图表示的多对多的关系。(P121-P124)
数据结构 第五章树答案
第五章 树(答案)
一、选择题
1、二叉树的第i 层最多有( )个结点。
A .2i B. 2i C. 2i-1 D.2i -1
2.对于一棵满二叉树,高度为h ,共有n 个结点,其中有m 个叶子结点,则( )
A .n=h+m B.h+m=2n C.m=h-1 D.n=2h -1 3.在一棵二叉树中,共有16个度为2的结点,则其共有( )个叶子结点。
A .15 B.16 C.17 D.18
4. 一棵完全二叉树中根结点的编号为1,而且编号为23的结点有左孩子但没有右孩子,则此树中共有( )个结点。
A .24 B.45 C.46 D.47 5.下述编码那一组不是前缀码( )
A .00,01,10,11 B.0,1,00,11 C.0,10,110,111 D.1,01,001,000 6.某二叉树的中序序列和后序序列相同,则这棵二叉树必然是( )
A .空树
B .空树或任一结点均无左孩子的非空二叉树
C .空树或任一结点均无右孩子的非空二叉树
D .空树或仅有一个结点的二叉树
7.设n,m 为一棵二叉树上的两个结点,在中序遍历时,n 在m 前的条件是( )
A .n 在m 的右边 B.n 是m 的祖先
C .n 在m 的左边 D.n 是m 的子孙
8、假定中根遍历二叉树的定义如下:若二叉树为非空二叉树,则中根遍历根的右子树;访问根结点;中根遍
历根的左子树。按此定义遍历下图所示的二叉树,遍历的结果为: A 、 DBEAFHGC A B 、 C GHFADBE B C C 、 E BDAFHGC E D F
D 、 FHGCADB
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构与算法上机作业第五章查找
一、选择题
1、若构造一棵具有n个结点的二叉排序树,在最坏情况下,其高度不超过 B 。
A. n/2
B. n
C. (n+1)/2
D. n+1
2、分别以下列序列构造二叉排序数(二叉查找树),与用其他3个序列所构造的结果不同的是 C :
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)
3、不可能生成下图所示的二叉排序树的关键字的序列是 A 。
A. 4 5 3 1 2
B. 4 2 5 3 1
C. 4 5 2 1 3
D. 4 2 3 1 5
4、在二叉平衡树中插入一个结点造成了不平衡,设最低的不平衡点为A,并已知A的左孩子的平衡因子为0,右孩子的平衡因子为1,则应作 C 型调整使其平衡。
A. LL
B. LR
C. RL
D. RR
5、一棵高度为k的二叉平衡树,其每个非叶结点的平衡因子均为0,则该树共有 C 个结点。
A. 2k-1-1
B. 2k-1+1
C. 2k-1
D. 2k+1
6、具有5层结点的平衡二叉树至少有 A 个结点。
A. 12
B. 11
C. 10
D. 9
7、下面关于B-和B+树的叙述中,不正确的是 C 。
A. B-树和B+树都是平衡的多叉树
B. B-树和B+树都可用于文件的索引结构
C. B-树和B+树都能有效地支持顺序检索
D. B-树和B+树都能有效地支持随机检索
8、下列关于m阶B-树的说法错误的是 D 。
A. 根结点至多有m棵子树
B. 所有叶子结点都在同一层次
C. 非叶结点至少有m/2(m为偶数)或m/2+1(m为奇数)棵子树
D. 根结点中的数据是有序的
9、下面关于哈希查找的说法正确的是 C 。
A. 哈希函数构造得越复杂越好,因为这样随机性好,冲突小
B. 除留余数法是所有哈希函数中最好的
C. 不存在特别好与坏的哈希函数,要视情况而定
D. 若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单地将该元素删去即可
10、与其他查找方法相比,散列查找法的特点是 C 。
A. 通过关键字的比较进行查找
B. 通过关键字计算元素的存储地址进行查找
C. 通过关键字计算元素的存储地址并进行一定的比较进行查找
D. 以上都不是
11、有一组关键字{8, 24, 16, 3, 12, 32, 51},采用除留余数法构造散列函数:H(key)=key mod 12,则将发生次冲突。
A. 3
B. 4
C. 5
D. 6
12、有一个结点的关键字为3276012483,采用移位叠加法生成4位散列地址,则生成的地址为 B 。
A. 3482
B. 3583
C. 9018
D. 9019
二、填空题
1、在查找过程中有插入或删除元素操作的,称为动态查找。
2、一个无序序列可以通过构造一棵二叉排序树而变为一个有序序列,构造树的过程即为对无序序列进行排序的过程。
3、对于一棵二叉排序树,按中根方法遍历得出的结点序列是从小到大排列的。
4、对二叉排序树进行查找的方法是用待查找的值与根结点的键值进行比较,若比根结点的值小,则继续在左子树中查找。
5、A VL树为在构造二叉排序树时,为确保搜索的性能而保持树的平衡,保持平衡的方法为在构建AVL树时根据特定条件而进行LL, RR, LR, RL四种旋转操作,如对于下图的树,应该进行RL RR 旋转。
25
1932
2740 26新插入结点
25
1932
2740
45
新插入结点
6、在m阶一棵B-树中,若在某个结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是m-1 ;若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字的个数是⎡m/2⎤ -1 。
7、127阶B-树中每个结点最多有126 个关键字;除根结点外所有非终端结点至少有棵子树;65阶B+树中,除根结点外所有非叶结点至少有33 个关键字,最多有65 棵子树
8、假设有k个关键字互为同义词(哈希值相同),若用线性探测再散列法把这k个关键字存入散列表中,至少要进行k(k-1)/2 次探测。
9、在散列排序法中,折叠法的哈希函数可分为移位法和分界法两种类型。
10、散列法的填充因子= 表中填入的记录数/ 哈希表的长度。
11、设散列函数H和关键字k1, k2,若k1不等于k2,而H(k1)=H(k2),则称这种现象为
冲突。
12、在哈希函数H(key)=key % p中,p一般应取不大于表长的质数或是不含20以下的质
因数的合数。
三、依次输入表(30, 15, 28, 20, 24, 10, 12, 68, 35, 50, 46, 55)中的元素,生成一棵二叉排序数,要求:
1、试画出生成之后的二叉排序树。
2、对该二叉排序数作中根遍历,写出遍历序列。
3、编程构建一个二叉排序数,并中根遍历验证上述结果。
四、二叉排序树如下图所示,分别画出:
1、删除关键字15以后的二叉树,并要求平均查找长度尽可能小。
2、在原二叉排序树(即没有删除15)上,插入关键字20
五、编写一个判别给定二叉树是否为二叉排序树的算法,假设二叉树是用左右链方式存储。
六、试画出从空树开始,有字符序列(t, d, e, s, u, g, b, j, a, k, r, i)构成的二叉平衡树,并为每一次平衡处理指明旋转类型。
七、假设一棵平衡二叉树的每个结点都标明了平衡因子b,试设计一个算法,利用平衡因子求平衡二叉树的高度。
八、设有三阶B-树(如下图所示),
1、画出依次插入18、33、97后的B-树
2、分别画出删除66、16、43后的B-树