哈希表
顺序存储
存储位置 = fun(关键字)
fun:散列函数
散列函数设计
要求:计算简单,分布均匀
直接定址法:计算简单,不是很好用,局限性很大
数字分析法:去除共性,保留个性
平方取中法:数字平方运算,取中间数字作为下标
取余法(较多):取余数作为下标
随机数法:存储地址 = random()
public int hashCode() {
//直接定值法
return age;
//取余法
//return age % 10;
}
散列冲突的解决方案
开放地址法
散列冲突后,后面再找一个地址存储
1,线性探测法:紧跟冲突存储

2,二次探测法:冲突后向后移动(1,2,… n)^2
3,再哈希法:冲突后,使用多个散列函数计算。
链地址法
将冲突数据,存储在一个链表中

1087

被折叠的 条评论
为什么被折叠?



