哈希函数:如何设计好的散列函数上节讲了哈希查找的核心思想——用哈希函数算出地址直接存取。这节深入讲:怎么设计一个好的哈希函数,让冲突尽量少。一、好哈希函数的标准均匀分布:让关键字均匀映射到地址空间,减少冲突计算简单:快速算出地址与关键字的每个位都相关:避免部分位决定地址导致的聚集二、常用构造方法1. 直接定址法H(key) = key 或 H(key) = a × key + b(a、b为常数)员工编号 1001~1099 H(key) = key → 地址就是1001到1099✅ 无冲突(关键字不重复时)❌ 关键字范围大时浪费空间适用:关键字集较小且连续。2. 除留余数法(最常用)H(key) = key mod p关键:p的选择!p应取不大于哈希表长的最大素数素数让余数分布更均匀表长m=13,取p=13 H(26) = 26 mod 13 = 0 H(37) = 37 mod 13 =