哈希查找原理及其应用分析.pdfVIP

  • 0
  • 0
  • 约1.36千字
  • 约 8页
  • 2026-03-13 发布于江苏
  • 举报

查找学号:17138?

•顺序查找:O(n),平均约比较500次

•二分查找:O(logn),平均约比较10次

有没有效率更高的算法?

取给定学号的后三位,不需要经过比较,便可直接从查

找表中找到给定学生的记录。

关键字存储地址

映射关系

哈希函数定义

一般情况下,需在关键字与记录在表中的存储位置之间建立

一个函数关系,以H(key)作为关键字为key的记录在表中

的位置,通常称这个函数h(key)为哈希函数。

哈希函数

关键字集合AH(key)地址空间D

mn

1)哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上

,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可;

1)哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上

,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可;

2)由于哈希函数是一个压缩映象,因此,在一般情况下,很容易产生

“冲突”现象,即:key1key2,而h(key1)=h(key2)。

H(key)=key%10

1)哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上

,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可;

2)由于哈希函数是一个压缩映象,因此,在一般情况下,很容易产生

“冲突”现象,即:key1key2,而h(key1)=h(key2)。

3)很难找到一个不产生冲突的哈希函数。一般情况下,只能选择恰

当的哈希函数,使冲突尽可能少地产生。

因此,哈希查找需要做两方面事情:选择一个“好”的哈

希函数;提供一种“处理冲突”的方法。

哈希表

根据设定的哈希函数H(key)和提供的处理冲突的方法,将一组关键字映

象到一个地址连续的地址空间上,并以关键字在地址空间中的“象”作为

相应记录在表中的存储位置,如此构造所得的查找表称之为哈希表。

哈希函数

地址空间存储的数

关键字集合AH(key)地址空间D

据集合称为哈希表

mn

冲突处理C(key)

文档评论(0)

1亿VIP精品文档

相关文档