数据结构预算法第九章查找.pptx
《数据结构预算法第九章查找.pptx》由会员分享,可在线阅读,更多相关《数据结构预算法第九章查找.pptx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章第九章 查找查找9.19.1 查找的基本概念查找的基本概念9.2 静态查找9.39.3 动态查找动态查找9.49.4 哈希表哈希表v 9.1 9.1 查找的基本概念查找的基本概念v1.1.查找表:查找表:由同一类型的数据元素(或记录)构成的集合称为查找表。v2.2.对查找表进行的操作:对查找表进行的操作:v(1)查找某个特定的数据元素是否存在。v(2)检索某个特定数据元素的属性。v(3)在查找表中插入一个数据元素。v(4)在查找表中删除一个数据元素。v3.3.静态查找:静态查找:在查找过程中仅查找某个特定元素存在或查找其属性,称为静态查找。v4.4.动态查找:动态查找:在查找过程中对查找
2、表进行插入或删除元素操作,称为动态查找。v5.5.关键字:关键字:数据元素(或记录)中某个数据项的值,用它可以标识数据元素(或记录)。v6.6.主关键字:主关键字:可以唯一地标识一个记录的关键字称为主关键字。v7.7.次关键字:次关键字:可以标识若干个记录的关键字称为次关键字。v8.8.查找:查找:在查找表中确定是否存在一个数据元素的关键字等于给定值的操作,称为查找(或检索)。若表中存在这样一个数据元素(或记录),则查找成功;否则,查找失败。v9.9.内查找和外查找:内查找和外查找:若整个查找过程全部在内存进行,则称为内查找;若在查找过程中还需要访问外存,则称为外查找。v10.10.平均查找长
3、度:平均查找长度:查找算法的效率,主要是看要查找的值与关键字的比较次数,通常用平均查找长度来衡量。对一个含n个数据元素的表,查找成功时: v v 其中,n是查找表中记录的个数。pi是查找第i个记录的概率,一般地,均认为每个记录的查找概率相等,即pi=1/n(1in),ci是找到第i个记录所需进行的比较次数 n1iiicpASL9.2 9.2 静态查找表静态查找表具有具有顺序查找法顺序查找法、折半查找法折半查找法和和分块查找法分块查找法三种三种9.2.1 顺序查找顺序查找顺序查找法的特点是:用顺序查找法的特点是:用所给关键字与线性表中各元素所给关键字与线性表中各元素的关键字逐个比较,直到成功或失
4、败。的关键字逐个比较,直到成功或失败。 监视哨的作用:监视哨的作用:(1)省去判定循环中下标越界的条件,从而节约比较时间。)省去判定循环中下标越界的条件,从而节约比较时间。(2)保存查找值的副本,查找时若遇到它,则表示查找成)保存查找值的副本,查找时若遇到它,则表示查找成功。这样在从后向前查找失败时,不必判断查找是否检测完,功。这样在从后向前查找失败时,不必判断查找是否检测完,从而达到算法统一。从而达到算法统一。用用平均查找长度分析顺序查找算法的性能:平均查找长度分析顺序查找算法的性能: 假设假设列表长度为列表长度为n,那么查找第那么查找第i个数据元素时需个数据元素时需进行进行n-i+1次比较
5、,即次比较,即Ci=n-i+1。又假设查找每个数据又假设查找每个数据元素的概率相等,即元素的概率相等,即Pi=1/n,则顺序查找算法的平均则顺序查找算法的平均查找长度为:查找长度为: ASL=i=1nPiCin1i=1nCin1i=1n(n-i+1)=21(n+1)顺序查找的缺点:顺序查找的缺点:当当n很大时,平均查找长度较大,很大时,平均查找长度较大,效率低;效率低;优点:优点:对表中数据元素的存储没有要求。对表中数据元素的存储没有要求。另外,对于线性链表,只能进行顺序查找。另外,对于线性链表,只能进行顺序查找。9.2.2 折半查找法折半查找法(二分法查找法)(二分法查找法)条件:条件:要求
6、要求待查找的列表必须是待查找的列表必须是按关键字大小有序按关键字大小有序排列的顺序表排列的顺序表。 基本过程:基本过程:将表中间位置记录的关键字与查找关键将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子直到找到满足
7、条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。表不存在为止,此时查找不成功。 例如用折半查找法查找例如用折半查找法查找10、50的具体过程,的具体过程,其中其中mid=(low+high)/2,当,当highlow时,表示不存在这样时,表示不存在这样的子表空间,查找失败。的子表空间,查找失败。 605846352825221815126 1 2 3 4 5 6 7 8 9 10 11low=1mid=6high=11605846352825221815126 1 2 3 4 5 6 7 8 9 10 11low=1 mid=3high=5用用折半查找法查找折半查找法查找12的过
8、程为:的过程为:605846352825221815126 1 2 3 4 5 6 7 8 9 10 11low=1mid=1high=2605846352825221815126 1 2 3 4 5 6 7 8 9 10 11low=2mid=2high=2用用折半查找法查找折半查找法查找50的过程:的过程:605846352825221815126 1 2 3 4 5 6 7 8 9 10 11low=1mid=6high=11605846352825221815126 1 2 3 4 5 6 7 8 9 10 11low=7 mid=9high=116058463528252218151
9、26 1 2 3 4 5 6 7 8 9 10 11low=10mid=10high=11605846352825221815126 1 2 3 4 5 6 7 8 9 10 11low=10high=9用用平均查找长度分析折半查找算法的性能:平均查找长度分析折半查找算法的性能:折半查找成功时的平均查找长度为:折半查找成功时的平均查找长度为:ASLbsi=1nPiCin1j=1nj2j-1nn+1log2(n+1)-1优点:优点:比较次数少,查找速度快,平均性能好。比较次数少,查找速度快,平均性能好。缺点:缺点:要求待查的表为有序表,且插入、删除困难。要求待查的表为有序表,且插入、删除困难。9
10、.2.3 分块查找法分块查找法分块查找法要求将列表组织成以下索引顺序结构:分块查找法要求将列表组织成以下索引顺序结构:首先将列表分成若干个块(子表)。首先将列表分成若干个块(子表)。一般情况下,一般情况下,块的长度均匀,最后一块可以不满。每块中元素任块的长度均匀,最后一块可以不满。每块中元素任意排列,即块内无序,但块与块之间有序。意排列,即块内无序,但块与块之间有序。 构造一个索引表。其中每个索引项对应一个块并构造一个索引表。其中每个索引项对应一个块并记录每块的起始位置,和每块中的最大关键字(或记录每块的起始位置,和每块中的最大关键字(或最小关键字)。索引表按关键字有序排列。最小关键字)。索引
11、表按关键字有序排列。 下图为下图为一个索引顺序表一个索引顺序表25 58 888871605836453228825121418索引表索引表各块内的各块内的最大关键字最大关键字各块的各块的起始地址起始地址列表列表 0 1 2 3 4 5 6 7 8 9 10 11 12此表此表包括三个块,第一个块的起始地址为包括三个块,第一个块的起始地址为0,块内最,块内最大关键字为大关键字为25;第二个块的起始地址为第二个块的起始地址为5,块内最大,块内最大关键字为关键字为58;第三个块的起始地址为第三个块的起始地址为10,块内最大关,块内最大关键字为键字为88。分块查找的基本过程为:分块查找的基本过程为:
12、(1)首先,将待查关键字首先,将待查关键字K与索引表中的关键字进与索引表中的关键字进行比较,以确定待查记录所在的块。具体的可用顺行比较,以确定待查记录所在的块。具体的可用顺序查找法或折半查找法进行。序查找法或折半查找法进行。(2 2)进一步用顺序查找法,在相应块内查找关键字)进一步用顺序查找法,在相应块内查找关键字为为K的元素。的元素。 分块查找的平均查找长度分块查找的平均查找长度由两部分组成:即查找索由两部分组成:即查找索引表时的平均查找长度为引表时的平均查找长度为LB,以及在相应块内进行以及在相应块内进行顺序查找的平均查找长度顺序查找的平均查找长度LW。ASLbs=LB+LW 假定假定将长
13、度为将长度为n的表分成的表分成b块,且每块含块,且每块含s个元素,则个元素,则b=n/s。又假定表中每个元素的查找概率相等,则每又假定表中每个元素的查找概率相等,则每个索引项的查找概率为个索引项的查找概率为1/b,块中每个元素的查找概块中每个元素的查找概率为率为1/s。若用顺序查找法确定待查元素所在的块,若用顺序查找法确定待查元素所在的块,则有:则有: LBb1jj=1bb12Lws1ji=1ss12ASLbs=LB+LW 2b+s+1将将b=n/s代入,得代入,得ASLbs21+1sn+s)(三种查找方法比较三种查找方法比较顺序查找顺序查找折半查找折半查找分块查找分块查找ASL大大小小 中中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 预算法 第九 查找
限制150内