哈希表:高效数据存储与查找的利器(上)
1. 哈希表基础概念
哈希表是由成对的值组成的列表。每一对中的第一个元素称为键(key),第二个元素称为值(value)。键和值之间存在着重要的关联。例如,在快餐菜单的例子中,字符串 “french fries” 是键,0.75 是值,它们成对出现表示薯条的价格是 75 美分。
在 Ruby 中,可以使用以下语法来查找键对应的值:
menu["french fries"]
上述代码将返回值 0.75。在哈希表中查找值的平均效率为 O(1),通常只需要一步操作。
2. 哈希函数
哈希函数是将字符转换为数字的代码。例如,一种简单的将字母映射到数字的方法是:
| 字母 | 数字 |
| ---- | ---- |
| A | 1 |
| B | 2 |
| C | 3 |
| D | 4 |
| E | 5 |
| … | … |
根据这个规则,ACE 转换为 135,CAB 转换为 312,DAB 转换为 412,BAD 转换为 214。这种将字符转换为数字的过程称为哈希(hashing),用于转换的代码就是哈希函数。
除了上述简单的映射,还有其他类型的哈希函数。例如:
- 求和哈希函数 :将每个字母对应的数字相加。以 BAD 为例,先转换为 214,然后计算 2 + 1 + 4 = 7。
- 乘积哈希函数
超级会员免费看
订阅专栏 解锁全文
1016

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



