1、什么是散列表
1)长度预先设定
2)元素根据元素对应的键进行保存
3)通过散列函数将键映射为一个数字,理想情况下键值唯一
2、散列表的优点:实现快速的插入或取用
3、散列表的缺点:查找操作效率低下
4、什么碰撞:两个键通过散列函数映射成同一个值
5、有哪些散列函数,及其原理
1)将值的每一字符转化为ASCII值,并相加,再对数组长度求余(数组长度最好为质数)
2)将值的每一个字符转化为ASCII码值乘以一个质数再求和,最后对数组长度取余
6、有哪些处理碰撞的方法,及其原理
1)开链法:将值保存在一个数组里,当遇到键碰撞时,将值插入数组
2)线性探测法:将值和键保存至两个table,碰撞时将键和值保存在pos+1的位置
*当数组长度是存储数据1.5倍的时候用开链法,2倍及以上的时候用线性探测法