散列表
散列表就是快速查找数据的一种数据结构。
散列函数
散列函数就是无论给什么数据,都会返回一个准确的数据。
散列函数的要求:

  1. 必须一致,例如,首先输入的一个数返回的是4,那么第二次输入这个数返回的也是4.
  2. 输入不同的数字返回不同的数据

应用案例:
查找:

  1. 电话簿:输入姓名返回电话
  2. DNS解析:IP地址和网址映射

防止重复:
假设每人只能一票。防止有人重复,一个一个找比较麻烦,可以使用散列表‘
缓存数据,以免服务器处理生成他们
冲突,如果出现两个数据指向一种数据,这种情况就是冲突。所以我们要减少冲突
性能,在一般情况下散列表的速度确实很快。但是在最糟的情况下就会很慢。
如图
算法图解

所以需要存在两个条件

  1. 较低的填装因子
  2. 较好的散列函数

填装因子:计算 填装因子的元素数/位置总数
填装因子越低发生的冲突越小

相关文章: