查找性能快,比搜索二叉树更快
二叉树查找速度O(log2N),哈希表一般可以达到O(1)
数组+下标,关键字x通过哈希函数f(x)转换为下标
根据关键字设计,主要原理是根据数组大小求模运算,数组大小一般为质数
写结构体的时候加入next指针
把下标的位置都对外开放:
如果遇到冲突,就往下一个地址寻找空位
新位置=原始位置+i
如果遇到冲突,就往(原始位置+i^2)的位置寻找空位。i代表查找的次数
新位置=原始位置+i^2
在设计第二个哈希函数,如:hash2(key)=R-(key mod R),R要取比数组尺寸小的质数,例如:
R=7,hash2(关键字)=7-(关键字%7),其结果在1-7之间且不会等于0
遇到冲突:新位置=原始位置+i*hash2(关键字)
再次哈希,当哈希表的存储量超过70%,就自动新建一个新的哈希表,新表的尺寸是旧表的两倍以上,选择一个质数,把之前的数据再次通过哈希计算搬到新表里