----装填因子 = 表中的结点数 / 散列表空间大小
----解决2个问题:
1.分布均匀 2.冲突解决
----目标:
1.运算简单 2.分布均匀
----考虑的因素:
1.关键码长度 2.散列表大小 3.关键码分布 4.检索频率
----散列函数:
1.取余 2.乘余取整hash(key)=LOW(n*(A*key % 1)),0<A<1
3.平方取中 4.数字分析(找分布均匀的几位)
5.折叠(分割,叠加)
----冲突解决:
一、开散列法:
1.拉链:每个槽都作为一个链表的表头,同义词在一个表头下
2.桶散列(没看明白)
二、闭散列法:
1.线性探查,从基地址d下一位d+1开始d+1,d+2,d+3...M-1,0,1..d-1
2.二次探查,发生冲突时,降同义词来回散列在第一个地址的两端
3.随机探查
4.双散列探查,解决二次聚集
----解决2个问题:
1.分布均匀 2.冲突解决
----目标:
1.运算简单 2.分布均匀
----考虑的因素:
1.关键码长度 2.散列表大小 3.关键码分布 4.检索频率
----散列函数:
1.取余 2.乘余取整hash(key)=LOW(n*(A*key % 1)),0<A<1
3.平方取中 4.数字分析(找分布均匀的几位)
5.折叠(分割,叠加)
----冲突解决:
一、开散列法:
1.拉链:每个槽都作为一个链表的表头,同义词在一个表头下
2.桶散列(没看明白)
二、闭散列法:
1.线性探查,从基地址d下一位d+1开始d+1,d+2,d+3...M-1,0,1..d-1
2.二次探查,发生冲突时,降同义词来回散列在第一个地址的两端
3.随机探查
4.双散列探查,解决二次聚集