1、定义三要素:
关键值Key-Value,哈希/散列函数Hash-Function(Reflection),映射后的地址/散列表
2、重要子概念
冲突 happens when 关键值key1!=key2 and F(key1)==F(key2)
装真因子 a = 已装入hash-table元素个数/hash-table长度
3、查找性能相关因素:
A、 散列函数(越均匀越好);
常用构造方法:
a.直接定址,如线性取址
b.数字分析法
c.随机数法,效率看RP。。
d.取模法
e.平方取中法
B、处理冲突的方法;
a.开放未用的地址(线性/2次/随机数法)
b.再散列法(增加时间开销)
c.链地址法(像链表样。)
d.建立公共溢出区
C、散列表的装填因子。
过大更容易造成冲突,过小使用效率也下来了