mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-24 02:21:30 +08:00
build
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 6.1. 哈希表
|
||||
# 6.1 哈希表
|
||||
|
||||
散列表,又称「哈希表 Hash Table」,其通过建立键 `key` 与值 `value` 之间的映射,实现高效的元素查询。具体而言,我们向哈希表输入一个键 `key` ,则可以在 $O(1)$ 时间内获取对应的值 `value` 。
|
||||
|
||||
@@ -31,7 +31,7 @@ comments: true
|
||||
|
||||
观察发现,**在哈希表中进行增删查改的时间复杂度都是 $O(1)$** ,非常高效。
|
||||
|
||||
## 6.1.1. 哈希表常用操作
|
||||
## 6.1.1 哈希表常用操作
|
||||
|
||||
哈希表的常见操作包括:初始化、查询操作、添加键值对和删除键值对等。
|
||||
|
||||
@@ -444,7 +444,7 @@ comments: true
|
||||
|
||||
```
|
||||
|
||||
## 6.1.2. 哈希表简单实现
|
||||
## 6.1.2 哈希表简单实现
|
||||
|
||||
我们先考虑最简单的情况,**仅用一个数组来实现哈希表**。在哈希表中,我们将数组中的每个空位称为「桶 Bucket」,每个桶可存储一个键值对。因此,查询操作就是找到 `key` 对应的桶,并在桶中获取 `value` 。
|
||||
|
||||
@@ -1487,7 +1487,7 @@ index = hash(key) % capacity
|
||||
}
|
||||
```
|
||||
|
||||
## 6.1.3. 哈希冲突与扩容
|
||||
## 6.1.3 哈希冲突与扩容
|
||||
|
||||
本质上看,哈希函数的作用是将所有 `key` 构成的输入空间映射到数组所有索引构成的输出空间,而输入空间往往远大于输出空间。因此,**理论上一定存在“多个输入对应相同输出”的情况**。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user