网站大量收购独家精品文档,联系QQ:2885784924

数据结构》第七章查找.pptx

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第7章查找

数据结构》第七章查找共60页,您现在浏览的是第1页!

第7章查找

学习目的要求:

顺序表、有序表、索引顺序表的定义、查找及算法。

散列表的定义及构造法。

散列表冲突的处理方法。

数据结构》第七章查找共60页,您现在浏览的是第2页!

7.1基本概念

7.2顺序查找

7.5散列表及其查找

7.4分块查找

7.3二分法查找

第7章查找

数据结构》第七章查找共60页,您现在浏览的是第3页!

对查找表经常进行的操作:

1)查询(检索)某个“特定的”数据元素是否在查找表中及各种属性;

2)在查找表中插入一个数据元素;

3)从查找表中删去某个数据元素。

7.1基本概念

数据结构》第七章查找共60页,您现在浏览的是第4页!

顺序查找

二分查找

分块查找

静态查找表

7.1基本概念

数据结构》第七章查找共60页,您现在浏览的是第5页!

A

顺序表的查找过程:

假设给定值e=64,

要求A[k]=e,问:k=?

k

7.2顺序查找

数据结构》第七章查找共60页,您现在浏览的是第6页!

64

监视哨

比较次数:

查找第n个元素:1 (最好情况)

查找第n-1个元素:2

……….

查找第1个元素:n (最坏情况)

查找第i个元素:n+1-i

查找失败:n+1

本例比较次数:5

数据结构》第七章查找共60页,您现在浏览的是第7页!

7.3二分法查找

在顺序存储的条件下,若各记录是按其关键字值的大小依次存放的,则这个查找表称为有序表。

在有序表中可采用二分法查找(或称为折半查找)的方法进行查找。

假设表中元素为升序排列。

数据结构》第七章查找共60页,您现在浏览的是第8页!

查找的数据在表中

找到

数据结构》第七章查找共60页,您现在浏览的是第9页!

从二分法查找的执行情况分析,每做一次比较,查找的范围都缩小一半。因此二分法查找的平均查找长度为

ASL=log2(n+1)-1

当n足够大时,可近似表示为log2n。

优点:二分法查找比顺序查找的速度要快得多。当然,使用二分法查找必须是在顺序存储的条件下,且事先必须做到按关键字值排序才行。

7.3二分法查找

数据结构》第七章查找共60页,您现在浏览的是第10页!

7.4分块查找

分块查找又称索引顺序查找,它是顺序查找方法的一种改进方法,是介于顺序查找和二分法查找之间的一种折中查找方法。

基本思想是把线性表分成若干块,每块中最大的关键字存入索引表。块内数据元素任意排放,索引表内数据按从小到大的顺序排放。块内进行顺序查找,索引表中采用二分查找或顺序查找。

数据结构》第七章查找共60页,您现在浏览的是第11页!

7.4分块查找

索引表A的每个元素包含两个字段,一个是该块的最大关键字值,另一个是指向子表的指针。

数据结构》第七章查找共60页,您现在浏览的是第12页!

分块查找的平均查找长度由两个部分组成:

ASL=Eb+Ew

Eb为确定某一块所需的平均查找长度,Ew为在块内的平均查找长度。假设线性表中共有n个数据元素,平均分成b块,每块s个数据元素,并假设查找各块概率相等,若在索引表内和块内查找均用顺序查找方法,

则Ew=(s+1)/2,Eb=(b+1)/2,所以

ASL=Eb+Ew=(b+s)/2+1=(n/s+s)/2+1

当s=时,ASL取最小值,这时ASL=+1。

7.4分块查找

数据结构》第七章查找共60页,您现在浏览的是第13页!

练习

采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分为多少个结点最佳。

【答案】

根据公式s=√n=√625=25,

每块应分为25个结点最佳。

数据结构》第七章查找共60页,您现在浏览的是第14页!

7.5散列表及其查找

7.5.1散列表的概念

散列法亦称哈希(HASH)法,是在记录的存储位置和它的关键字之间建立一个确定的对应关系H,使每个关键字与一个惟一的存储位置相对应。

散列方法不同于顺序查找、二分查找。它不以关键字的比较为基本操作,而采用直接寻址技术。在理想情况下,无须任何比较就可以找到待查关键字,查找的期望时间为O(1)。

数据结构》第七章查找共60页,您现在浏览的是第15页!

7.5散列表及其查找

U(全集):可能出现的关键字集合

K:实际存储的关键字集合

T:散列表

h:散列函数

h(ki):关键字为ki结点的存储地址,即散列值(散列地址)

将结点按照其关键字的散列地址存储到散列表中的过程就是散列

数据结构》第七章查找共60页,您现在浏览的是第16页!

文档评论(0)

. + 关注
官方认证
内容提供者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档