《《常用算法查》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《常用算法查》PPT课件.ppt(17页珍藏版)》请在三一办公上搜索。
1、零基础学算法,第5章:常用算法查找,课程安排,5.1 查找的基本概念5.2 简单查找5.3 二叉排序树5.4 索引查找5.5 哈希表,5.1 查找的基本概念,主关键字和次关键字查找结果静态查找表和动态查找表,5.2 简单查找,顺序查找 从线性表的一端开始,依次将每个记录的关键字与给定值进行比较,若某个记录的关键字等于给定值,表示查找成功,返回记录序号;若将线性表中所有记录都比较完,仍未找到关键字与给定值相等的记录,则表示查找失败,返回一个失败值。折半查找 又称为二分查找。这种查找方法要求查找表的数据是线性结构保存,并且还要求查找表中的数据是按关键字由小到大有序排列。,69,65,90,37,9
2、2,6,28,54,5.2 简单查找,折半查找,5.3 二叉排序树,二叉排序数或者是一棵空树,或者是一棵具有以下性质的二叉树:(1)若它有左子树,则左子树上所有结点的数据均小于根结点的数据。(2)若它有右子树,则右子树上所有结点的数据均大于根结点的数据。(3)左、右子树本身又各是一棵二叉排序树。,5.3.1 二叉排序树的定义,5.3 二叉排序树,插入结点查找结点删除结点,5.3 二叉排序树,插入结点查找结点删除结点,5.3 二叉排序树,删除叶结点,5.3 二叉排序树,删除无右子树结点,5.3 二叉排序树,删除有左右子树结点,5.4 索引查找,主表和索引表创建索引的一般过程 索引的特点,5.4.
3、1 索引的概念,5.4 索引查找,在索引表中进行查找引查找的过程是:(1)首先根据给定的关键字key,按定义的函数计算出索引值index1,在索引表上查找出索引值等于index1的索引项,以确定对应子表在主表中的开始位置和长度,(2)接着根据从索引表中获取的开始序号start,在主表指定位置(即子表的开始处)顺序查找关键字key。向主表中插入数据 在线性表的索引存储结构上进行插入和删除运算的算法,与查找算法类似,其具体过程如下:(1)根据待插入元素的值查找索引表,确定出对应的子表。(2)接着,根据待插入元素的关键字,在该子表中做插入元素的操作。(3)插入完成后,修改索引表中的相应子表的长度。,5.4.1 索引查找算法,5.5 哈希表,哈希表的基本思想是:以线性表中每个元素的关键字key为自变量,通过一定的函数关系h(key)计算出函数的值,把这个值作为数组的下标,将元素存入对应的数组元素中。函数h(key)称为哈希函数,函数的值称为哈希地址。,5.5.1 哈希表概述,线性表:,哈希函数:,5.5 哈希表,直接定址法除法取余法数字分析法平方取中法折叠法,5.5.2 构造哈希函数,5.5 哈希表,开放地址法线性探测法双哈希函数探测法,5.5.3 处理冲突,链接法,性格决定命运,专注成就人生,