|
|
@ -6,11 +6,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
![哈希表的抽象表示](hash_map.assets/hash_table_lookup.png)
|
|
|
|
![哈希表的抽象表示](hash_map.assets/hash_table_lookup.png)
|
|
|
|
|
|
|
|
|
|
|
|
除哈希表外,我们还可以使用数组或链表实现查询功能,其中:
|
|
|
|
除哈希表外,我们还可以使用数组或链表实现查询功能。若将学生数据看作数组(链表)元素,则有:
|
|
|
|
|
|
|
|
|
|
|
|
- 查询元素需要遍历数组(链表)中的所有元素,使用 $O(n)$ 时间;
|
|
|
|
- **添加元素**:仅需将元素添加至数组(链表)的尾部即可,使用 $O(1)$ 时间;
|
|
|
|
- 添加元素仅需添加至数组(链表)的尾部即可,使用 $O(1)$ 时间;
|
|
|
|
- **查询元素**:由于数组(链表)是乱序的,因此需要遍历数组(链表)中的所有元素,使用 $O(n)$ 时间;
|
|
|
|
- 删除元素需要先查询再删除,使用 $O(n)$ 时间;
|
|
|
|
- **删除元素**:需要先查询到元素,再从数组中删除,使用 $O(n)$ 时间;
|
|
|
|
|
|
|
|
|
|
|
|
<div class="center-table" markdown>
|
|
|
|
<div class="center-table" markdown>
|
|
|
|
|
|
|
|
|
|
|
|