- 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)由于哈希函数是一个压缩映象,因此,在一般情况下,很容易产生
“冲突”现象,即:key1key2,而h(key1)=h(key2)。
H(key)=key%10
1)哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上
,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可;
2)由于哈希函数是一个压缩映象,因此,在一般情况下,很容易产生
“冲突”现象,即:key1key2,而h(key1)=h(key2)。
3)很难找到一个不产生冲突的哈希函数。一般情况下,只能选择恰
当的哈希函数,使冲突尽可能少地产生。
因此,哈希查找需要做两方面事情:选择一个“好”的哈
希函数;提供一种“处理冲突”的方法。
哈希表
根据设定的哈希函数H(key)和提供的处理冲突的方法,将一组关键字映
象到一个地址连续的地址空间上,并以关键字在地址空间中的“象”作为
相应记录在表中的存储位置,如此构造所得的查找表称之为哈希表。
哈希函数
地址空间存储的数
关键字集合AH(key)地址空间D
据集合称为哈希表
mn
冲突处理C(key)
原创力文档

文档评论(0)