哈希与信息收集技术全解析
哈希技术概述
哈希函数是一种将键值映射到地址位置的算法,它能把较大范围的键值映射到相对较小的地址空间。不过,由于地址空间有限,在应用哈希函数时,碰撞(即不同键值映射到相同地址)很可能会发生,因此需要相应的解决策略。
常见哈希技术
- 折叠法 :以加法折叠且地址空间为四位数为例,可从键值(如 625149)推导出哈希地址。折叠法的优缺点与中平方法类似。在特定数据集上,折叠法能更优雅地分布键值,而中平方法则使键值分布更随机,但这简单实验不足以判断它们在其他数据集上的表现。
- 截断法 :该方法会忽略键的部分内容,将另一部分作为哈希地址。例如地址空间为四位数时,可从键值 625149 按特定方式得到哈希地址。然而,截断法过于简单,实际应用中可能导致重复碰撞,无法均匀分布键值。
- 处理字母数字键值 :很多情况下,键值是字母数字形式,此时需将其转换为数字形式。有多种转换方法,常见的两种方法可参考相关总结,当然也可自行创造。
碰撞解决策略
- 线性探测 :当发生碰撞时,会寻找离哈希地址最近的空位置。若到达表尾,允许回绕。随着元素添加,会形成占用单元块,即主聚集,这会增加碰撞可能性,延长后续元素插入的探测时间。插入和不成功搜索时,预期探测次数为 ½[1 + 1/(1 – f)²];成功搜索时,为 ½[1 + 1/(1 – f)]。线性探测的优点是概念简单、实现容易,每阶段计算量小;缺点是会出现主聚
哈希技术与信息收集在软件开发中的应用
超级会员免费看
订阅专栏 解锁全文
73

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



