关闭

散列表、散列函数

标签: 散列函数
87人阅读 评论(0) 收藏 举报
分类:

直接寻址法,浪费空间。

散列函数:
(1)除法函数:

h(k)=kmodm
m的选择:一个不太接近2的幂次的素数。
(2)乘法函数:
h(k)=m(kAmod1)
k乘以A之后取小数部分再乘以m.在这里m的选择不是重点。

通过散列函数将k映射到一个值最容易造成冲突。解决冲突的两种方法:
(1)链表法:顾名思义
(2)开放寻址法:
(a)线性探查:

h(k,i)=(h(k)+i)modm

(b)二次探查:
h(k,i)=(h(k)+ci+ci2)modm

(c)双重散列:
h(k,i)=(h1(k)+ih2(k))modm

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21660次
    • 积分:404
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:5篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论