解决哈希冲突的三种方法(拉链法、开放地址法、再散列法)

目录

  • 解决哈希冲突的方法
  • 开放定址法
  • 线性探测再散列
  • 二次探测再散列
  • 伪随机探测再散列
  • 再哈希法
  • 链地址法
  • 建立公共溢出区
  • 优缺点

解决哈希冲突的方法

  • 开放定址法
  • 线性探测再散列
  • 二次探测再散列
  • 伪随机探测再散列
  • 再哈希法
  • 链地址法
  • 建立公共溢出区

下面以创建哈希表为例,说明解决冲突的方法。常用的解决冲突方法有以下四种:

开放定址法

这种方法也称再散列法,其基本思想是:当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈希地址p1,如果p1仍然冲突,再以p为基础,产生另一个哈希地址p2,…,直到找出一个不冲突的哈希地址pi ,将相应元素存入其中。这种方法有一个通用的再散列函数形式:

Hi

你可能感兴趣的:(C++后台开发)