- 53
- 0
- 约3.07千字
- 约 90页
- 2017-04-24 发布于江西
- 举报
数据结构导论第六章.ppt
第六章 查找;基本概念;查找:
是指在数据元素集合中查找满足某种条件的数据元素。
查找表:
称用于查找的数据集合为查找表。查找表由同一类型的数据元素所构成,在查找表的结构中每一个数据元素称为查找对象。
关键字 :
其中应当有一个属性,其值可以唯一地标识这个数据元素;仅作查询和检索操作的查找表。;根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或(记录)
若查找表中存在这样一个记录,则称“查找成功”,给出整个记录的信息,或指示该记录在查找表中的位置;
否则称“查找不成功”,给出“空记录”或“空指针”。;6.2 静态查找表的实现;1 顺序表上的查找;1 顺序表上的查找;顺序表的类型定义;;;顺序查找的平均查找长度 :;
;查找key=16的过程;二分查找的基本思想是:
将待查元素K与有序表中点上的元素item[mid]进行比较,
若相等,则查找成功;
若k item[mid].key,则在大于的区间继续查找;
若k item[mid].key,则在小于的区间继续查找。
通过每比较一次,查找区间的长度就缩小一半,如此不断进行下去,直到查找成功或失败。;;二分查找的算法;二分查找的判定树;二分查找的平均查找长度:假设结点数为n,则其判定树深度为k= ?log2n?+1则深度为1的1个结点 深度为2的2个 深度为3的4个 深度为k的2k-1个假设为等概率情况,则;3索引顺序表上的查找 分块查找;;分块查找的效率分析;1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A. (n-1)/2
B. n/2
C. (n+1)/2
D. n;2.对线性表进行二分查找时,要求线性表必须( )
A.以顺序方式存储
B.以顺序方式存储,且数据元素有序
C.以链接方式存储
D.以链接方式存储,且数据元素有序;3.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )
A. 必定快
B. 不一定
C. 在大部分情况下要快
D. 取决于表递增还是递减 ;4.分块检索中,若索引表和各块内均用顺序查找,则有900个元素的线性表分成_________块最好:若分成25块,其平均查找长度为_________。;6.3 树表;二叉排序树中序遍历的结果是一个递增的序列。;图中二叉排序树的各结点的值为1~9,标出各结点的值 ;已知二叉排序树10个结点值依次为1-10,
其结构如图所示,
试标出该二叉树各结点所对应得具体值。;50;二叉排序树上的查找思想 ;构造二叉排序树 二叉排序树的插入;构造二叉排序树 二叉排序树的插入;将33插入到如下的二叉排序树中;将56插入到如下的二叉排序树中;32.给定表(39,14,22,8,65,28,88,29,67,13,10),试按元素在表中的顺序将它们依次插入一棵初始时为空的二叉排序树,
画出插入完成后的二叉排序树。 ;二叉排序树的删除;(1)被删除的结点是叶子结点;50;50;50;50;平衡二叉树(AVL树);;构造二叉平衡(查找)树的方法是:
按照构造二叉排序树的方法进行构造,
出现不平衡时,进行旋转调整;50;设结点A为不平衡的最小子树根结点,
设结点B为插入结点,对该子树进行平衡化调整的规则如下:
1)从A开始,在A到B的路径上连续选取三个结点作为调整对象;
2)将三个结点按关键字值由小到大排序,取中间结点作为新根结点,较小结点作为其左孩子,较大结点作为其右孩子;
3)若根结点在调整前有左孩子,调整后将其作为现有左孩子的右孩子;若根结点在调整前有右孩子,调整后将其作为现有右孩子的左孩子。 ;有数据序列:
{20,50,35,80,90,32,85,40,88,30}
请按顺序构造一棵二叉平衡树;有数据序列:
{20,50,35,80,90,32,85,40,88,30}
请按顺序构造一棵二叉平衡树;有数据序列:
{20,50,35,80,90,32,85,40,88,30}
请按顺序构造一棵二叉平衡树;有数据序列:
{20,50,35,80,90,32,85,40,88,30}
请按顺序构造一棵二叉平衡树;有数据序列:
{20,50,35,80,90,32,85,40,88,30}
请按顺序构造一棵二叉平衡树;有数据序列:
{15,20,11,8,14,13}
请按顺序构造一棵二叉平衡树;设结点A为不平衡的最小子树根结点,
设结点B为插入结点,对该子树进行平衡化调整的规则如下:
1)从A开始,在A到B的路径上连续
原创力文档

文档评论(0)