1 / 10
文档名称:

数据结构查找习题及答案.docx

格式:docx   大小:216KB   页数:10页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构查找习题及答案.docx

上传人:森林书屋 2022/12/7 文件大小:216 KB

下载得到文件列表

数据结构查找习题及答案.docx

文档介绍

文档介绍:该【数据结构查找习题及答案 】是由【森林书屋】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【数据结构查找习题及答案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第9章 查找
一、单选题
对一棵二叉搜索树按()遍历,可得到结点值从小到大的排列序列。

从具有n个结点的二叉搜索树中查找一个元素时,在平均情况下的时间复杂度大致为()。
(n)
(1)
(logn)
(n2)
3.
从具有n个结点的二叉搜索树中查找一个元素时,在最坏情况下的时间复杂度为()

(n)
(1)
(logn)
(n2)
4.
在二叉搜索树中插入一个结点的时间复杂度为()

(1)
(n)
(logn)
(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)
在一棵AVL树中,每个结点的平衡因子的取值范围是()。
A.-11
B.-22


(56,42,50,64,48)依次插入结点生成一棵
AVL树,当插入到值
为()的结点时需要进行旋转调整。




深度为4的AVL树至少有()个结点。




9.
一棵深度为k的AVL树,其每个分支结点的平衡因子均为
0,则该平衡二叉树共有()
个结点。
+1
10.
在AVL树中插入一个结点后造成了不平衡,
设最低的不平衡结点为
A,并已知A的左孩
子的平衡因子为
0,右孩子的平衡因子为
1,则应作(
)型调整以使其平衡。
A. LL C. RL D. RR
二、判断题
二叉搜索树的任意一棵子树中,关键字最小的结点必无左孩子,关键字最大的结点必无右孩子。
2.
二叉搜索树中每个结点的关键字值大于其左非空子树
(若存在的话)所有结点的关键字
值,且小于其右非空子树(若存在的话)所有结点的关键字值。
3.
二叉搜索树按照中序遍历将各结点打印出将各结点打印出来,
将得到按照由小到大的排
列。
若二叉搜索树的根结点没有左儿子,则根结点一定是值最小的结点。
二叉搜索树一定是满二叉树。
从二叉搜索树的根结点一直沿右儿子向下找不一定能找到树中值最大的结点。
二叉搜索树的充要条件是任一结点的值均大于其左孩子的值,小于其右孩子的值。
若二叉搜索树中关键码互不相同,则其中最小元素和最大元素一定是叶子结点。
在任意一棵非空二叉搜索树中,删除某结点后又将其插入,则所得二叉搜索树与原二叉搜索树相同。
当向二叉搜索树中插入一个结点,则该结点一定成为叶子结点。
11.
AVL树是指左右子树的高度差的绝对值不大于
1的二叉树。
12.
AVL是一棵二叉树,其树上任一结点的平衡因子的绝对值不大于
1。
在AVL树中,向某个平衡因子不为零的结点的树中插入一新结点,必引起平衡旋转。三、填空题
1. 在一棵二叉搜索树上实施 遍历后,其关键字序列是一个有序表。
一个无序序列可以通过构造一棵_______而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。
3.
在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定
________该结点的
值,右子树上所有结点的值一定
________该结点。
4.
从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明
_______,
若元素的值小于根结点的值,则继续向
_______查找,若元素的值大于根结点的值,则
继续向________查找。
5.
向一棵二叉搜索树中插入一个元素时,
若元素的值小于根结点的值,
则接着向根结点的
________插入,若元素的值大于根结点的值,则接着向根结点的 ________插入。
6.
根据n个元素建立一棵二叉搜索树的时间复杂度大致为________。
7.
二叉树中某一结点左子树的深度减去右子树的深度称为该结点的
_______。
8.
深度为4的平衡二叉树中至少有
个结点,至多有
个结点。
9.
在一棵AVL树中,每个结点的左子树高度与右子树高度之差的绝对值不超过
________。
四、应用题
1. 一棵二叉搜索树的结构如下图所示,结点的值为 1~8,请标出各结点的值。
若依次输入序列{62,68,30,61,25,14,53,47,90,84}中的元素,生成一棵二叉搜索树。画出生成后的二叉搜索树(画出生成过程)。
依次读入给定的整数序列{7,16,4,8,20,9,6,18,5},构造一棵二叉搜索树,并计算在等概率情
况下该二叉搜索树的平均查找长度ASL。(要求给出构造过程)
4. 从空二叉树开始,严格按照二叉搜索树的插入算法(不进行平衡旋转) ,逐个插入关键
码{18,73,10,5,68,99,27,41,51,32,25}构造出一棵二叉搜索树,画出这棵二叉搜索树并写出其前序、后序遍历序列。
若一棵二叉搜索树的关键字输入序列为{80,6,10,7,8,25,100,90},请画出该二叉搜索树。
设有一组初始记录关键字为(45,80,48,40,22,78),要求构造一棵二叉搜索树并给出构造过程。
假定一个关键字序列为(38,52,25,74,68,16,30,54,90,72),画出按序列中元素的次序生成的一棵二叉搜索树,求出其平均查找长度。
将数列(24,15,38,27,121,76,130)的各元素依次插入一棵初始为空的二叉搜索树中,请画出最后的结果并求等概率情况下查找成功的平均查找长度。
输入一个正整数序列{40,28,6,72,100,3,54,1,80,91,38},建立一棵二叉搜索树,然后
10.

删除结点72,分别画出该二叉树及删除结点 72后的二叉树。
根据元素插入的先后次序不同, 可构成多种形态的二叉搜索树。 请画出4棵含1,2,3,
4四个元素且以 1为根、深度为 3的二叉搜索树。
11. 请画出从下面的二叉搜索树中删除关键码 40后的结果。
20
11 40
6 24 50
35
3 8 45 60
28
对关键字序列(25,16,34,39,28,56),
1)画出按此序列生成的二叉搜索树。
2)计算等概率下查找成功时的平均查找长度。
输入一个正整数序列(53,17,12,66,58,70,87,25,56,60),试完成下列各题。
(1)按次序构造一棵二叉搜索树BS。
(2)依此二叉搜索树,如何得到一个从大到小的有序序列
(3)假定每个元素的查找概率相等,试计算该二叉搜索树的平均查找长度
(4)画出在此二叉搜索树中删除“66”后的树结构。
试推导深度为5的平衡二叉树最少包含多少个结点,并画出一棵这样的树。
15. 画出在一个初始为空的 AVL树中依次插入 3,1,4,6,9,8,5,7 时每一插入后 AVL树的形
态。若做了某种旋转,说明旋转的类型。
给定一个关键字序列4,5,7,2,1,3,6,生成一棵AVL树,画出构造过程。
17. 给定关键字序列 4,5,7,2,1,3,6,分别生成二叉搜索树和 AVL树,并用二叉搜索树和 AVL
树两种方法查找,给出查找 6的查找次数及查找成功的平均查找长度。
给定关键词输入序列{CAP,AQU,PIS,ARI,TAU,GEM,CAN,LIB,VIR,LEO,SCO},假定关键词比较按英文字典序,试画出从一棵空树开始,依上述顺序(从左到右)输入关键词,用
AVL树的插入算法生成一棵AVL树的过程,并说明生成过程中采用了何种转动方式进行平衡调整,标出树中各结点的平衡因子。
参考答案
一、
1--
二、
1-5.√√√√×6-10. ×××√11-13.√√×
三、
中序
二叉搜索树
小于,大于
查找成功,左子树,右子树
左子树,右子树
O(n2)
平衡因子
7,15
1
四、
1.
2.
3.
ASL=(1+2*2+3*3+4*3)/9=26/9=
4.
前序:181057368272541325199
后序:5102532514**********
5.
6.
7. 二叉搜索树如图所示,平均查找长度等于 32/10。
平均查找长度=1+2×2+3×2+4×2=19/7。
9.
二叉搜索树 删除72后的二叉搜索树
10.
11.

(1)
2)(1+2*2+3*2+4*1)/6=
13.(1)构造的二叉搜索树为: (4)删除结点 66后
对于一个二叉搜索树,想得到一个从大到小的序列只要先读右子树再读根结点,最
后读左子树的遍历这颗二叉树就可以了。如果是要从小到大的序列,则只需中序遍历这颗二叉树即可。
(3)该二叉树的平均查找长度为: ASL=(1*1+2*2+3*4+4*3)/10=

15.
16.
17. 二叉搜索树 AVL树
从二叉搜索树查找

6需

4次,平均查找长度

ASL=(1+2+2+3+3+3+4)/7=18/7≈。
从平衡二叉树查找

6需

2次,平均查找长度

ASL=(1+2+2+3+3+3+3)=17/7≈。
18.
单向左旋
先右旋后左旋