二次散列学习

1.介绍

二次散列(Double Hashing)是一种解决哈希冲突(hash collision)的方法是的,它正是在发生哈希冲突时用到的 ,而且是一种非常经典、效果很好的开放定址法(Open Addressing)

二次散列 = 用两个不同的哈希函数

当第一次哈希定位的位置发生冲突时,用第二个哈希函数来决定"下一次探测的步长"。

复制代码
// 第 i 次探测位置是,i从0开始计数:
index_i = (h1(key) + i * h2(key)) % N

2.常见的哈希冲突解决方案

二次散列能有效避免 Primary Clustering(主聚集)

若忘记了设置key,导致key都是0,开启二次散列会有助于减少冲突吗?

不会,本质上没有任何帮助,甚至可能更糟。不同 key → 不同的 h2(key) → 不同的探测路径。

相关推荐
Yfhonier6 分钟前
6440. 极大连通图个数(DFS)
数据结构·算法·深度优先
2301_802651089 分钟前
linux系统的学习:网络
linux·网络·学习
玖玥拾17 分钟前
LeetCode 1 两数之和
算法·leetcode·职场和发展
Cccp.12318 分钟前
【leetcode】(一)认识复杂度和简单排序算法
算法·排序算法
zyf10441620 分钟前
暑期实践日志 Day44:梳理剪辑实践成果,进行学习总结
学习·计算机网络·剪辑·暑期实践·课题任务
ouynagda20 分钟前
Linux Socket 网络编程学习笔记
linux·网络·学习
旖旎夜光27 分钟前
LeetCode 974:和可被 K 整除的子数组(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
我爱cope29 分钟前
【计算机网络 | 网络层12:SDN:控制平面与数据平面分离意味着什么?】
网络·学习·计算机网络·平面
无限码力31 分钟前
拼多多笔试真题 2026-8-30【唯一入栈出库序列】
算法·pdd笔试真题·拼多多春招笔试真题·拼多多秋招笔试真题·拼多多笔试真题题解·拼多多最新笔试题库