如何快速搜索到需要的关键词?如果关键词不方便比较怎么办?
直接算出对象位置:散列
时间复杂度几乎是常量:O(1)

两项基本工作:

计算位置:构造散列函数确定关键词存储位置

好的散列函数一般应考虑下列两个因素:

  • 计算简单,以便提高转换速度
  • 关键词对应的地址空间分布均匀,以尽量减少冲突

直接定址、除留余数、数字分析、折叠、平方取中
对于字符串:ASCII加和、移位

解决冲突:应用某种策略解决多个关键词位置相同的问题

  • 开放地址法:换个位置
  • 链地址法:同一位置的冲突对象组织在一起