线性探测再散列是哈希表解决冲突的一种计算方法,哈希表又称散列表,哈希表存储的基本思想是:以数据表中的每个记录的关键字 k为自变量,通过一种函数H(k)计算出函数值。
把这个值解释为一块连续存储空间(即数组空间)的单元地址(即下标),将该记录存储到这个单元中。
在此称该函数H为哈希函数或散列函数。按这种方法建立的表称为哈希表或散列表。
Hi=(H(key)+di) % m,i=1,2,……k(k<=m-1),H(key)哈希函数,m哈希表长,di增量序列。
当di值可能为1,2,3,…m-1,称线性探测再散列。开放地址法有一个公式:Hi=(H(key)+di) MOD m i=1,2,…,k(k<=m-1)。
其中,m为哈希表的表长。di是产生冲突的时候的增量序列。
如果di取1,则每次冲突之后,向后移动1个位置。如果di取值可能为1,-1、4、-4、9、-9、16,、16、…k*k、-k*k(k<=m/2),称二次探测再散列,如果di取值可能为伪随机数列。称伪随机探测再散列。
如果觉得《线性探测再散列法是啥 – PHP基础 – 前端 php源码解密微盾》对你有帮助,请点赞、收藏,并留下你的观点哦!