数据结构中整数键的哈希表
这里,我们将讨论带整数键的哈希表。这里,键值 𝑥 来自于如下集合 𝑈:𝑈 = {0, 1, … , 𝑢 – 2, 𝑢 – 1}。哈希函数是 ℎ。此哈希函数的域是 𝑈。范围位于集合 {0, 1, … , 𝑚 – 1} 中,并且 𝑚 ≤ 𝑢。
如果对于 𝑆 ⊆ 𝑈 中的每个 𝑥 ∈ 𝑆,ℎ(𝑥) 都唯一,则称哈希函数 h 是集合 𝑆 的完美哈希函数。如果 𝑚 = |𝑆|,则表示 𝑆 的完美哈希函数 ℎ 为最小值。因此,ℎ 是 S 和 {0, 1, … , 𝑚 – 1} 之间的双射。显然,最小完美哈希函数是理想的,因为它允许我们将 S 中的所有元素都存储在长度为 n 的单个数组中。
遗憾的是,即使 m 远大于 n,完美哈希函数也非常罕见。如果 S 中的每个元素都均匀且独立地映射到 {0, 1, ... , 𝑚 – 1} 中的随机元素,则根据生日悖论,如果 m 远小于 n2,则几乎肯定会存在 S 的两个元素,哈希值相同。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP