哈希与信息收集技术全解析
哈希技术概述
哈希函数是一种将键值映射到地址的算法,其目的是将较大范围的键值映射到相对较小的地址空间。但由于这种映射的压缩性,碰撞(多个键值映射到同一地址)很可能发生,因此需要有效的碰撞解决策略。
常见哈希技术
- 折叠法 :以加法为例,假设地址空间为四位数,对于键值 625149 可通过特定方式得到哈希地址。折叠法的优缺点与中平方法类似。在特定数据集上,折叠法能更优雅地分布键值,而中平方法则使键值分布更随机,但这一简单实验不足以推断它们在其他数据集上的表现。
- 截断法 :该方法忽略键的一部分,将另一部分用作哈希地址。同样假设地址空间为四位数,键值 625149 可按此方法得到哈希地址。然而,截断法过于简单,可能导致频繁碰撞,且无法使键在地址空间均匀分布。
- 处理字母数字键值 :很多情况下,键值是字母数字形式,需要将其转换为数字形式。有多种转换方法,常见的两种方法可参考相关总结,但也可自行设计转换方式。
碰撞解决策略
- 线性探测
- 原理 :当发生碰撞时,查找离哈希地址最近的空位置并使用。若到达表尾,允许回绕。
- 负载因子与性能 :负载因子 f 定义为表中要存储的记录数与表的实际大小之比。随着元素添加,会形成占用单元块,即主聚集,这会增加碰撞可能性,延
超级会员免费看
订阅专栏 解锁全文
91

被折叠的 条评论
为什么被折叠?



