mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-21 07:47:14 +00:00
deploy
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
|
||||
<title>6.1. 哈希表(HashMap) - Hello 算法</title>
|
||||
<title>6.1. 哈希表(HashMap) - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
|
||||
</span>
|
||||
</div>
|
||||
@@ -268,14 +268,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0">
|
||||
0. 写在前面
|
||||
0. 写在前面
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_1">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
0. 写在前面
|
||||
0. 写在前面
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -286,7 +286,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_preface/about_the_book/" class="md-nav__link">
|
||||
0.1. 关于本书
|
||||
0.1. 关于本书
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -300,7 +300,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_preface/suggestions/" class="md-nav__link">
|
||||
0.2. 如何使用本书
|
||||
0.2. 如何使用本书
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_preface/installation/" class="md-nav__link">
|
||||
0.3. 编程环境安装
|
||||
0.3. 编程环境安装
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -328,7 +328,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_preface/contribution/" class="md-nav__link">
|
||||
0.4. 一起参与创作
|
||||
0.4. 一起参与创作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -367,14 +367,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
||||
1. 引言
|
||||
1. 引言
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
1. 引言
|
||||
1. 引言
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_introduction/algorithms_are_everywhere/" class="md-nav__link">
|
||||
1.1. 算法无处不在
|
||||
1.1. 算法无处不在
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_introduction/what_is_dsa/" class="md-nav__link">
|
||||
1.2. 算法是什么
|
||||
1.2. 算法是什么
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -444,14 +444,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
||||
2. 计算复杂度
|
||||
2. 计算复杂度
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_3">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
2. 计算复杂度
|
||||
2. 计算复杂度
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_computational_complexity/performance_evaluation/" class="md-nav__link">
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -476,7 +476,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_computational_complexity/time_complexity/" class="md-nav__link">
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -490,7 +490,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_computational_complexity/space_complexity/" class="md-nav__link">
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -504,7 +504,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_computational_complexity/space_time_tradeoff/" class="md-nav__link">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_computational_complexity/summary/" class="md-nav__link">
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -559,14 +559,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
||||
3. 数据结构简介
|
||||
3. 数据结构简介
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_4">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
3. 数据结构简介
|
||||
3. 数据结构简介
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -577,7 +577,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-nav__link">
|
||||
3.1. 数据与内存
|
||||
3.1. 数据与内存
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -591,7 +591,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/classification_of_data_structure/" class="md-nav__link">
|
||||
3.2. 数据结构分类
|
||||
3.2. 数据结构分类
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -605,7 +605,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
|
||||
3.3. 小结
|
||||
3.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -648,14 +648,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
||||
4. 数组与链表
|
||||
4. 数组与链表
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_5">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
4. 数组与链表
|
||||
4. 数组与链表
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -666,7 +666,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/array/" class="md-nav__link">
|
||||
4.1. 数组(Array)
|
||||
4.1. 数组(Array)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -680,7 +680,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/linked_list/" class="md-nav__link">
|
||||
4.2. 链表(LinkedList)
|
||||
4.2. 链表(LinkedList)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -694,7 +694,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/list/" class="md-nav__link">
|
||||
4.3. 列表(List)
|
||||
4.3. 列表(List)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -708,7 +708,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
|
||||
4.4. 小结
|
||||
4.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -751,14 +751,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
||||
5. 栈与队列
|
||||
5. 栈与队列
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_6">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
5. 栈与队列
|
||||
5. 栈与队列
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -769,7 +769,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/stack/" class="md-nav__link">
|
||||
5.1. 栈(Stack)
|
||||
5.1. 栈(Stack)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -783,7 +783,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/queue/" class="md-nav__link">
|
||||
5.2. 队列(Queue)
|
||||
5.2. 队列(Queue)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -797,7 +797,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/deque/" class="md-nav__link">
|
||||
5.3. 双向队列(Deque)
|
||||
5.3. 双向队列(Deque)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -811,7 +811,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
|
||||
5.4. 小结
|
||||
5.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -854,14 +854,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
|
||||
6. 散列表
|
||||
6. 散列表
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_7">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
6. 散列表
|
||||
6. 散列表
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -881,12 +881,12 @@
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
</a>
|
||||
|
||||
|
||||
@@ -906,28 +906,28 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#611" class="md-nav__link">
|
||||
6.1.1. 哈希表效率
|
||||
6.1.1. 哈希表效率
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#612" class="md-nav__link">
|
||||
6.1.2. 哈希表常用操作
|
||||
6.1.2. 哈希表常用操作
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#613" class="md-nav__link">
|
||||
6.1.3. 哈希函数
|
||||
6.1.3. 哈希函数
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#614" class="md-nav__link">
|
||||
6.1.4. 哈希冲突
|
||||
6.1.4. 哈希冲突
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -948,7 +948,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../hash_collision/" class="md-nav__link">
|
||||
6.2. 哈希冲突处理
|
||||
6.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -962,7 +962,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
6.3. 小结
|
||||
6.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1007,14 +1007,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
||||
7. 二叉树
|
||||
7. 二叉树
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_8">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
7. 二叉树
|
||||
7. 二叉树
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -1025,7 +1025,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree/" class="md-nav__link">
|
||||
7.1. 二叉树(Binary Tree)
|
||||
7.1. 二叉树(Binary Tree)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1039,7 +1039,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
7.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1053,7 +1053,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.3. 二叉搜索树
|
||||
7.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1067,7 +1067,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.4. AVL 树 *
|
||||
7.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1081,7 +1081,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.5. 小结
|
||||
7.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1118,14 +1118,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
|
||||
8. 堆
|
||||
8. 堆
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_9">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
8. 堆
|
||||
8. 堆
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -1136,7 +1136,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆(Heap)
|
||||
8.1. 堆(Heap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1177,14 +1177,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
|
||||
9. 图
|
||||
9. 图
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_10">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
9. 图
|
||||
9. 图
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -1195,7 +1195,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图(Graph)
|
||||
9.1. 图(Graph)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1209,7 +1209,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
9.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1223,7 +1223,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
9.3. 图的遍历
|
||||
9.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1266,14 +1266,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
|
||||
10. 查找算法
|
||||
10. 查找算法
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_11">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
10. 查找算法
|
||||
10. 查找算法
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -1284,7 +1284,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
|
||||
10.1. 线性查找
|
||||
10.1. 线性查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1298,7 +1298,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
|
||||
10.2. 二分查找
|
||||
10.2. 二分查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1312,7 +1312,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
|
||||
10.3. 哈希查找
|
||||
10.3. 哈希查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1326,7 +1326,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
10.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1373,14 +1373,14 @@
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
|
||||
11. 排序算法
|
||||
11. 排序算法
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_12">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
11. 排序算法
|
||||
11. 排序算法
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@@ -1391,7 +1391,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/intro_to_sort/" class="md-nav__link">
|
||||
11.1. 排序简介
|
||||
11.1. 排序简介
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1405,7 +1405,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
|
||||
11.2. 冒泡排序
|
||||
11.2. 冒泡排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1419,7 +1419,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
|
||||
11.3. 插入排序
|
||||
11.3. 插入排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1433,7 +1433,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
|
||||
11.4. 快速排序
|
||||
11.4. 快速排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1447,7 +1447,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
|
||||
11.5. 归并排序
|
||||
11.5. 归并排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1461,7 +1461,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/summary/" class="md-nav__link">
|
||||
11.6. 小结
|
||||
11.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1549,28 +1549,28 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#611" class="md-nav__link">
|
||||
6.1.1. 哈希表效率
|
||||
6.1.1. 哈希表效率
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#612" class="md-nav__link">
|
||||
6.1.2. 哈希表常用操作
|
||||
6.1.2. 哈希表常用操作
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#613" class="md-nav__link">
|
||||
6.1.3. 哈希函数
|
||||
6.1.3. 哈希函数
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#614" class="md-nav__link">
|
||||
6.1.4. 哈希冲突
|
||||
6.1.4. 哈希冲突
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1599,13 +1599,13 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="61">6.1. 哈希表<a class="headerlink" href="#61" title="Permanent link">¶</a></h1>
|
||||
<h1 id="61">6.1. 哈希表<a class="headerlink" href="#61" title="Permanent link">¶</a></h1>
|
||||
<p>哈希表通过建立「键 key」和「值 value」之间的映射,实现高效的元素查找。具体地,输入一个 key ,在哈希表中查询并获取 value ,时间复杂度为 <span class="arithmatex">\(O(1)\)</span> 。</p>
|
||||
<p>例如,给定一个包含 <span class="arithmatex">\(n\)</span> 个学生的数据库,每个学生有“姓名 <code>name</code> ”和“学号 <code>id</code> ”两项数据,希望实现一个查询功能:<strong>输入一个学号,返回对应的姓名</strong>,则可以使用哈希表实现。</p>
|
||||
<p><img alt="hash_map" src="../hash_map.assets/hash_map.png" /></p>
|
||||
<p align="center"> Fig. 哈希表抽象表示 </p>
|
||||
|
||||
<h2 id="611">6.1.1. 哈希表效率<a class="headerlink" href="#611" title="Permanent link">¶</a></h2>
|
||||
<h2 id="611">6.1.1. 哈希表效率<a class="headerlink" href="#611" title="Permanent link">¶</a></h2>
|
||||
<p>除了哈希表之外,还可以使用以下数据结构来实现上述查询功能:</p>
|
||||
<ol>
|
||||
<li><strong>无序数组</strong>:每个元素为 <code>[学号, 姓名]</code> ;</li>
|
||||
@@ -1654,7 +1654,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<h2 id="612">6.1.2. 哈希表常用操作<a class="headerlink" href="#612" title="Permanent link">¶</a></h2>
|
||||
<h2 id="612">6.1.2. 哈希表常用操作<a class="headerlink" href="#612" title="Permanent link">¶</a></h2>
|
||||
<p>哈希表的基本操作包括 <strong>初始化、查询操作、添加与删除键值对</strong>。</p>
|
||||
<div class="tabbed-set tabbed-alternate" data-tabs="1:10"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><input id="__tabbed_1_9" name="__tabbed_1" type="radio" /><input id="__tabbed_1_10" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Java</label><label for="__tabbed_1_2">C++</label><label for="__tabbed_1_3">Python</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">JavaScript</label><label for="__tabbed_1_6">TypeScript</label><label for="__tabbed_1_7">C</label><label for="__tabbed_1_8">C#</label><label for="__tabbed_1_9">Swift</label><label for="__tabbed_1_10">Zig</label></div>
|
||||
<div class="tabbed-content">
|
||||
@@ -1977,7 +1977,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 id="613">6.1.3. 哈希函数<a class="headerlink" href="#613" title="Permanent link">¶</a></h2>
|
||||
<h2 id="613">6.1.3. 哈希函数<a class="headerlink" href="#613" title="Permanent link">¶</a></h2>
|
||||
<p>哈希表中存储元素的数据结构被称为「桶 Bucket」,底层实现可能是数组、链表、二叉树(红黑树),或是它们的组合。</p>
|
||||
<p>最简单地,<strong>我们可以仅用一个「数组」来实现哈希表</strong>。首先,将所有 value 放入数组中,那么每个 value 在数组中都有唯一的「索引」。显然,访问 value 需要给定索引,而为了 <strong>建立 key 和索引之间的映射关系</strong>,我们需要使用「哈希函数 Hash Function」。</p>
|
||||
<p>设数组为 <code>bucket</code> ,哈希函数为 <code>f(x)</code> ,输入键为 <code>key</code> 。那么获取 value 的步骤为:</p>
|
||||
@@ -2829,7 +2829,7 @@ f(x) = x \% 100
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 id="614">6.1.4. 哈希冲突<a class="headerlink" href="#614" title="Permanent link">¶</a></h2>
|
||||
<h2 id="614">6.1.4. 哈希冲突<a class="headerlink" href="#614" title="Permanent link">¶</a></h2>
|
||||
<p>细心的同学可能会发现,<strong>哈希函数 <span class="arithmatex">\(f(x) = x \% 100\)</span> 会在某些情况下失效</strong>。具体地,当输入的 key 后两位相同时,哈希函数的计算结果也相同,指向同一个 value 。例如,分别查询两个学号 <span class="arithmatex">\(12836\)</span> 和 <span class="arithmatex">\(20336\)</span> ,则有</p>
|
||||
<div class="arithmatex">\[
|
||||
f(12836) = f(20336) = 36
|
||||
@@ -2921,7 +2921,7 @@ f(12836) = f(20336) = 36
|
||||
<nav class="md-footer__inner md-grid" aria-label="页脚" >
|
||||
|
||||
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 5.4. 小结" rel="prev">
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 5.4. &nbsp; 小结" rel="prev">
|
||||
<div class="md-footer__button md-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
||||
</div>
|
||||
@@ -2930,20 +2930,20 @@ f(12836) = f(20336) = 36
|
||||
<span class="md-footer__direction">
|
||||
上一页
|
||||
</span>
|
||||
5.4. 小结
|
||||
5.4. 小结
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../hash_collision/" class="md-footer__link md-footer__link--next" aria-label="下一页: 6.2. 哈希冲突处理" rel="next">
|
||||
<a href="../hash_collision/" class="md-footer__link md-footer__link--next" aria-label="下一页: 6.2. &nbsp; 哈希冲突处理" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
6.2. 哈希冲突处理
|
||||
6.2. 哈希冲突处理
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
Reference in New Issue
Block a user