🎆【Hash函数】PerfectHash: 完美哈希函数
2022-4-7
| 2023-10-28
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 28, 2023 10:43 AM
Parent item
领域
传统的 Hashmap 总会有分支预测开销与内存对比,最差时间复杂度是 O(n),有那么一种 Hash 函数:完美 Hash 函数( Perfect Hash Function,PHF),它可以在最坏情况下取得 O(1) 的时间复杂度。当然鱼和熊掌不可兼得,完美 Hash 要求有一个静态的输入集合,查找的 Key 必须存在于静态输入集合中,导致使用场景受限。它有几个特点:
  • 完美 Hash 大部分都要求输入 Key 的集合是已知的,用于提前构建数据结构;
  • 构造算法复杂,大部分情况下需要比较大的内存,特别是时间复杂度高,需要很长的时间建立索引,构建海量 key 的完美 Hash 可能会失败;
  • 完美 Hash 在实现上并不是只有一个 Hash 函数,而是多个普通 Hash 函数与数据结构算法上的组合,这意味着需要额外空间存储 Hash 冲突信息。
尽管它有一些缺点,但是在一些场景如汉字拼音映射,词典,以及程序中预定义的映射关系都有它的应用。
密码学
  • 密码学算法
  • Hash
  • 【Hash函数】量子安全的参数Hash函数【Hash函数】USS: 无条件安全签名哈希函数
    目录