- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-散列表课件
7.3 散列表的查找技术;7.3 散列表的查找技术;概 述;散列表:采用散列技术将记录存储在一块连续的存储空间中,这块连续的存储空间称为散列表。;散列函数:将关键码映射为散列表中适当存储位置的函数。;散列地址:由散列函数所得的存储位置 。;例子;概 述;散列技术的关键问题:
⑴ 散列函数的设计。如何设计一个简单、均匀、存储利用率高的散列函数。
⑵ 冲突的处理。如何采取合适的处理冲突方法来解决冲突。;冲突:对于两个不同关键码ki≠kj,有H(ki)=H(kj),即两个不同的记录需要存放在同一个存储位置,ki和kj相对于H称做同义词。 ;散列函数;1、散列函数——直接定址法;散列函数为:;根据关键码在各个位上的分布情况,选取分布比较均匀的若干位组成散列地址。 ;适用情况:;对关键码平方后,按散列表大小,取中间的若干位作为散列地址(平方后截取)。 ;将关键码从左到右分割成位数相等的几部分,将这几部分叠加求和,取后几位作为散列地址。 ;1、处理冲突的方法——开放定址法;(1)线性探测法;例:关键码集合为 {47, 7, 29, 11, 16, 92, 22, 8, 3},散列表表长为11,散列函数为H(key)=key mod 11,用线性探测法处理冲突,则构造的散列表为:;用线性探测法构造的散列表中查找算法——伪代码;int HashSearch1(int ht[ ], int m, int k)
{
int j=k%m;
if (ht[j]==k)
return j; //没有发生冲突,比较一次查找成功
int i=(j+1) % m;
while (i!=j)
{
if (ht[i]==k) return i; //发生冲突
if(ht[i]==0) break;
i=(i+1) % m ;//向后探测一个位置 }
if (i==j) throw 溢出;
else {
ht[i]=k; return i;
}};(2)二次探测法;;(3)随机探测法;基本思想:将所有散列地址相同的记录,即所有同义词的记录存储在一个单链表中(称为同义词子表),在散列表中存储的是所有同义词子表的头指针。 ;例:关键码集合 {47, 7, 29, 11, 16, 92, 22, 8, 3},散列函数为H(key)=key mod 11,用拉链法处理冲突,构造的开散列表为: ;在拉链法构造的散列表查找算法——伪代码;Nodeint *HashSearch2(Nodeint *ht[ ], int m, int k)
{
j=H(k);
p=ht[j];
while (p p-data!=k)
p=p-next;
if (p-data= =k) return p;
else {
q=new Nodeint; q-data=k;
q-next= ht[j];
ht[j]=q;
}
};基本思想:散列表包含基本表和溢出表两部分(通常溢出表和基本表的大小相同),将发生冲突的记录存储在溢出表中。查找时,对给定值通过散列函数计算散列地址,先与基本表的相应单元进行比较,若相等,则查找成功;否则,再到溢出表中进行顺序查找。 ;例:关键码集合 {47, 7, 29, 11, 16, 92, 22, 8, 3},散列函数为H(key)=key mod 11,用公共溢出区法处理冲突,构造的散列表为: ;散列查找的性能分析 ;查找成功时;开散列表与闭散列表的比较
您可能关注的文档
最近下载
- TBIE 004—2023通孔回流焊接技术规范团标.pdf
- 国开《MySQL数据库应用》形考1-4(试题及答案).pdf VIP
- 煤矿安全生产作业规程操作规程安全技术措施编制审批贯彻及执行管理制度.doc
- 2020年光学膜行业研究报告.pdf
- 采血管种类和应用ppt课件.pptx VIP
- 职业生涯报告六篇.pdf VIP
- Unit 4 Plants arounds us PartA Let's talk(课件)人教PEP版(2024)英语三年级上册.pptx
- 七年级上册生物:必考问答式知识点汇总(背诵+默写).docx
- 《青纱帐——甘蔗林》课件【中职专用】高教版 基础模块下册.pptx
- 国家开放大学学位英语历年真题试卷号1909.docx
文档评论(0)