mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-09 18:40:58 +00:00
deploy
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
|
||||
<title>2.1. 算法效率评估 - Hello 算法</title>
|
||||
<title>2.1. 算法效率评估 - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
|
||||
</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>
|
||||
|
||||
@@ -446,14 +446,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="true">
|
||||
<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>
|
||||
|
||||
@@ -473,12 +473,12 @@
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
</a>
|
||||
|
||||
|
||||
@@ -498,17 +498,17 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#211" class="md-nav__link">
|
||||
2.1.1. 算法评价维度
|
||||
2.1.1. 算法评价维度
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#212" class="md-nav__link">
|
||||
2.1.2. 效率评估方法
|
||||
2.1.2. 效率评估方法
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.1.2. 效率评估方法">
|
||||
<nav class="md-nav" aria-label="2.1.2. 效率评估方法">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -532,7 +532,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#213" class="md-nav__link">
|
||||
2.1.3. 复杂度分析重要性
|
||||
2.1.3. 复杂度分析重要性
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -553,7 +553,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../time_complexity/" class="md-nav__link">
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -567,7 +567,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_complexity/" class="md-nav__link">
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -581,7 +581,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_time_tradeoff/" class="md-nav__link">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -595,7 +595,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -636,14 +636,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>
|
||||
|
||||
@@ -654,7 +654,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-nav__link">
|
||||
3.1. 数据与内存
|
||||
3.1. 数据与内存
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -668,7 +668,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>
|
||||
|
||||
@@ -682,7 +682,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
|
||||
3.3. 小结
|
||||
3.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -725,14 +725,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>
|
||||
|
||||
@@ -743,7 +743,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>
|
||||
|
||||
@@ -757,7 +757,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>
|
||||
|
||||
@@ -771,7 +771,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>
|
||||
|
||||
@@ -785,7 +785,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
|
||||
4.4. 小结
|
||||
4.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -828,14 +828,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>
|
||||
|
||||
@@ -846,7 +846,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>
|
||||
|
||||
@@ -860,7 +860,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>
|
||||
|
||||
@@ -874,7 +874,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>
|
||||
|
||||
@@ -888,7 +888,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
|
||||
5.4. 小结
|
||||
5.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -929,14 +929,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="false">
|
||||
<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>
|
||||
|
||||
@@ -947,7 +947,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -961,7 +961,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
6.2. 哈希冲突处理
|
||||
6.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -975,7 +975,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
6.3. 小结
|
||||
6.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1020,14 +1020,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>
|
||||
|
||||
@@ -1038,7 +1038,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>
|
||||
|
||||
@@ -1052,7 +1052,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
7.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1066,7 +1066,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.3. 二叉搜索树
|
||||
7.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1080,7 +1080,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.4. AVL 树 *
|
||||
7.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1094,7 +1094,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.5. 小结
|
||||
7.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1131,14 +1131,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>
|
||||
|
||||
@@ -1149,7 +1149,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆(Heap)
|
||||
8.1. 堆(Heap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1190,14 +1190,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>
|
||||
|
||||
@@ -1208,7 +1208,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图(Graph)
|
||||
9.1. 图(Graph)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1222,7 +1222,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
9.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1236,7 +1236,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
9.3. 图的遍历
|
||||
9.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1279,14 +1279,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>
|
||||
|
||||
@@ -1297,7 +1297,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
|
||||
10.1. 线性查找
|
||||
10.1. 线性查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1311,7 +1311,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
|
||||
10.2. 二分查找
|
||||
10.2. 二分查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1325,7 +1325,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
|
||||
10.3. 哈希查找
|
||||
10.3. 哈希查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1339,7 +1339,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
10.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1386,14 +1386,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>
|
||||
|
||||
@@ -1404,7 +1404,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/intro_to_sort/" class="md-nav__link">
|
||||
11.1. 排序简介
|
||||
11.1. 排序简介
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1418,7 +1418,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
|
||||
11.2. 冒泡排序
|
||||
11.2. 冒泡排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1432,7 +1432,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
|
||||
11.3. 插入排序
|
||||
11.3. 插入排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1446,7 +1446,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
|
||||
11.4. 快速排序
|
||||
11.4. 快速排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1460,7 +1460,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
|
||||
11.5. 归并排序
|
||||
11.5. 归并排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1474,7 +1474,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/summary/" class="md-nav__link">
|
||||
11.6. 小结
|
||||
11.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1562,17 +1562,17 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#211" class="md-nav__link">
|
||||
2.1.1. 算法评价维度
|
||||
2.1.1. 算法评价维度
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#212" class="md-nav__link">
|
||||
2.1.2. 效率评估方法
|
||||
2.1.2. 效率评估方法
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.1.2. 效率评估方法">
|
||||
<nav class="md-nav" aria-label="2.1.2. 效率评估方法">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1596,7 +1596,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#213" class="md-nav__link">
|
||||
2.1.3. 复杂度分析重要性
|
||||
2.1.3. 复杂度分析重要性
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1625,8 +1625,8 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="21">2.1. 算法效率评估<a class="headerlink" href="#21" title="Permanent link">¶</a></h1>
|
||||
<h2 id="211">2.1.1. 算法评价维度<a class="headerlink" href="#211" title="Permanent link">¶</a></h2>
|
||||
<h1 id="21">2.1. 算法效率评估<a class="headerlink" href="#21" title="Permanent link">¶</a></h1>
|
||||
<h2 id="211">2.1.1. 算法评价维度<a class="headerlink" href="#211" title="Permanent link">¶</a></h2>
|
||||
<p>在开始学习算法之前,我们首先要想清楚算法的设计目标是什么,或者说,如何来评判算法的好与坏。整体上看,我们设计算法时追求两个层面的目标。</p>
|
||||
<ol>
|
||||
<li><strong>找到问题解法</strong>。算法需要能够在规定的输入范围下,可靠地求得问题的正确解。</li>
|
||||
@@ -1638,7 +1638,7 @@
|
||||
<li><strong>空间效率</strong>,即算法占用的内存空间大小。</li>
|
||||
</ul>
|
||||
<p>数据结构与算法追求“运行速度快、占用内存少”,而如何去评价算法效率则是非常重要的问题,因为只有知道如何评价算法,才能去做算法之间的对比分析,以及优化算法设计。</p>
|
||||
<h2 id="212">2.1.2. 效率评估方法<a class="headerlink" href="#212" title="Permanent link">¶</a></h2>
|
||||
<h2 id="212">2.1.2. 效率评估方法<a class="headerlink" href="#212" title="Permanent link">¶</a></h2>
|
||||
<h3 id="_1">实际测试<a class="headerlink" href="#_1" title="Permanent link">¶</a></h3>
|
||||
<p>假设我们现在有算法 A 和 算法 B ,都能够解决同一问题,现在需要对比两个算法之间的效率。我们能够想到的最直接的方式,就是找一台计算机,把两个算法都完整跑一遍,并监控记录运行时间和内存占用情况。这种评估方式能够反映真实情况,但是也存在很大的硬伤。</p>
|
||||
<p><strong>难以排除测试环境的干扰因素</strong>。硬件配置会影响到算法的性能表现。例如,在某台计算机中,算法 A 比算法 B 运行时间更短;但换到另一台配置不同的计算机中,可能会得到相反的测试结果。这意味着我们需要在各种机器上展开测试,而这是不现实的。</p>
|
||||
@@ -1653,7 +1653,7 @@
|
||||
</ul>
|
||||
<p><strong>复杂度分析克服了实际测试方法的弊端</strong>。一是独立于测试环境,分析结果适用于所有运行平台。二是可以体现不同数据量下的算法效率,尤其是可以反映大数据量下的算法性能。</p>
|
||||
<p>如果感觉对复杂度分析的概念一知半解,无需担心,后续章节会展开介绍。</p>
|
||||
<h2 id="213">2.1.3. 复杂度分析重要性<a class="headerlink" href="#213" title="Permanent link">¶</a></h2>
|
||||
<h2 id="213">2.1.3. 复杂度分析重要性<a class="headerlink" href="#213" title="Permanent link">¶</a></h2>
|
||||
<p>复杂度分析给出一把评价算法效率的“标尺”,告诉我们执行某个算法需要多少时间和空间资源,也让我们可以开展不同算法之间的效率对比。</p>
|
||||
<p>计算复杂度是个数学概念,对于初学者可能比较抽象,学习难度相对较高。从这个角度出发,其并不适合作为第一章内容。但是,当我们讨论某个数据结构或者算法的特点时,难以避免需要分析它的运行速度和空间使用情况。<strong>因此,在展开学习数据结构与算法之前,建议读者先对计算复杂度建立起初步的了解,并且能够完成简单案例的复杂度分析</strong>。</p>
|
||||
|
||||
@@ -1733,7 +1733,7 @@
|
||||
<nav class="md-footer__inner md-grid" aria-label="页脚" >
|
||||
|
||||
|
||||
<a href="../../chapter_introduction/what_is_dsa/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 1.2. 算法是什么" rel="prev">
|
||||
<a href="../../chapter_introduction/what_is_dsa/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 1.2. &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>
|
||||
@@ -1742,20 +1742,20 @@
|
||||
<span class="md-footer__direction">
|
||||
上一页
|
||||
</span>
|
||||
1.2. 算法是什么
|
||||
1.2. 算法是什么
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../time_complexity/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.2. 时间复杂度" rel="next">
|
||||
<a href="../time_complexity/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.2. &nbsp; 时间复杂度" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
|
||||
<title>2.3. 空间复杂度 - Hello 算法</title>
|
||||
<title>2.3. 空间复杂度 - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
|
||||
</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>
|
||||
|
||||
@@ -446,14 +446,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="true">
|
||||
<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>
|
||||
|
||||
@@ -464,7 +464,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../performance_evaluation/" class="md-nav__link">
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../time_complexity/" class="md-nav__link">
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -501,12 +501,12 @@
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</a>
|
||||
|
||||
|
||||
@@ -526,24 +526,24 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#231" class="md-nav__link">
|
||||
2.3.1. 算法相关空间
|
||||
2.3.1. 算法相关空间
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#232" class="md-nav__link">
|
||||
2.3.2. 推算方法
|
||||
2.3.2. 推算方法
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#233" class="md-nav__link">
|
||||
2.3.3. 常见类型
|
||||
2.3.3. 常见类型
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.3.3. 常见类型">
|
||||
<nav class="md-nav" aria-label="2.3.3. 常见类型">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -602,7 +602,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_time_tradeoff/" class="md-nav__link">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -616,7 +616,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -657,14 +657,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>
|
||||
|
||||
@@ -675,7 +675,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-nav__link">
|
||||
3.1. 数据与内存
|
||||
3.1. 数据与内存
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -689,7 +689,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>
|
||||
|
||||
@@ -703,7 +703,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
|
||||
3.3. 小结
|
||||
3.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -746,14 +746,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>
|
||||
|
||||
@@ -764,7 +764,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>
|
||||
|
||||
@@ -778,7 +778,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>
|
||||
|
||||
@@ -792,7 +792,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>
|
||||
|
||||
@@ -806,7 +806,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
|
||||
4.4. 小结
|
||||
4.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -849,14 +849,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>
|
||||
|
||||
@@ -867,7 +867,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>
|
||||
|
||||
@@ -881,7 +881,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>
|
||||
|
||||
@@ -895,7 +895,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>
|
||||
|
||||
@@ -909,7 +909,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
|
||||
5.4. 小结
|
||||
5.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -950,14 +950,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="false">
|
||||
<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>
|
||||
|
||||
@@ -968,7 +968,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -982,7 +982,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
6.2. 哈希冲突处理
|
||||
6.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -996,7 +996,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
6.3. 小结
|
||||
6.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1041,14 +1041,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>
|
||||
|
||||
@@ -1059,7 +1059,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>
|
||||
|
||||
@@ -1073,7 +1073,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
7.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1087,7 +1087,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.3. 二叉搜索树
|
||||
7.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1101,7 +1101,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.4. AVL 树 *
|
||||
7.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1115,7 +1115,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.5. 小结
|
||||
7.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1152,14 +1152,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>
|
||||
|
||||
@@ -1170,7 +1170,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆(Heap)
|
||||
8.1. 堆(Heap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1211,14 +1211,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>
|
||||
|
||||
@@ -1229,7 +1229,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图(Graph)
|
||||
9.1. 图(Graph)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1243,7 +1243,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
9.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1257,7 +1257,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
9.3. 图的遍历
|
||||
9.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1300,14 +1300,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>
|
||||
|
||||
@@ -1318,7 +1318,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
|
||||
10.1. 线性查找
|
||||
10.1. 线性查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1332,7 +1332,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
|
||||
10.2. 二分查找
|
||||
10.2. 二分查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1346,7 +1346,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
|
||||
10.3. 哈希查找
|
||||
10.3. 哈希查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1360,7 +1360,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
10.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1407,14 +1407,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>
|
||||
|
||||
@@ -1425,7 +1425,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/intro_to_sort/" class="md-nav__link">
|
||||
11.1. 排序简介
|
||||
11.1. 排序简介
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1439,7 +1439,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
|
||||
11.2. 冒泡排序
|
||||
11.2. 冒泡排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1453,7 +1453,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
|
||||
11.3. 插入排序
|
||||
11.3. 插入排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1467,7 +1467,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
|
||||
11.4. 快速排序
|
||||
11.4. 快速排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1481,7 +1481,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
|
||||
11.5. 归并排序
|
||||
11.5. 归并排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1495,7 +1495,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/summary/" class="md-nav__link">
|
||||
11.6. 小结
|
||||
11.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1583,24 +1583,24 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#231" class="md-nav__link">
|
||||
2.3.1. 算法相关空间
|
||||
2.3.1. 算法相关空间
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#232" class="md-nav__link">
|
||||
2.3.2. 推算方法
|
||||
2.3.2. 推算方法
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#233" class="md-nav__link">
|
||||
2.3.3. 常见类型
|
||||
2.3.3. 常见类型
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.3.3. 常见类型">
|
||||
<nav class="md-nav" aria-label="2.3.3. 常见类型">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1667,9 +1667,9 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="23">2.3. 空间复杂度<a class="headerlink" href="#23" title="Permanent link">¶</a></h1>
|
||||
<h1 id="23">2.3. 空间复杂度<a class="headerlink" href="#23" title="Permanent link">¶</a></h1>
|
||||
<p>「空间复杂度 Space Complexity」统计 <strong>算法使用内存空间随着数据量变大时的增长趋势</strong>。这个概念与时间复杂度很类似。</p>
|
||||
<h2 id="231">2.3.1. 算法相关空间<a class="headerlink" href="#231" title="Permanent link">¶</a></h2>
|
||||
<h2 id="231">2.3.1. 算法相关空间<a class="headerlink" href="#231" title="Permanent link">¶</a></h2>
|
||||
<p>算法运行中,使用的内存空间主要有以下几种:</p>
|
||||
<ul>
|
||||
<li>「输入空间」用于存储算法的输入数据;</li>
|
||||
@@ -1897,7 +1897,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 id="232">2.3.2. 推算方法<a class="headerlink" href="#232" title="Permanent link">¶</a></h2>
|
||||
<h2 id="232">2.3.2. 推算方法<a class="headerlink" href="#232" title="Permanent link">¶</a></h2>
|
||||
<p>空间复杂度的推算方法和时间复杂度总体类似,只是从统计“计算操作数量”变为统计“使用空间大小”。与时间复杂度不同的是,<strong>我们一般只关注「最差空间复杂度」</strong>。这是因为内存空间是一个硬性要求,我们必须保证在所有输入数据下都有足够的内存空间预留。</p>
|
||||
<p><strong>最差空间复杂度中的“最差”有两层含义</strong>,分别为输入数据的最差分布、算法运行中的最差时间点。</p>
|
||||
<ul>
|
||||
@@ -2164,7 +2164,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 id="233">2.3.3. 常见类型<a class="headerlink" href="#233" title="Permanent link">¶</a></h2>
|
||||
<h2 id="233">2.3.3. 常见类型<a class="headerlink" href="#233" title="Permanent link">¶</a></h2>
|
||||
<p>设输入数据大小为 <span class="arithmatex">\(n\)</span> ,常见的空间复杂度类型有(从低到高排列)</p>
|
||||
<div class="arithmatex">\[
|
||||
\begin{aligned}
|
||||
@@ -3083,7 +3083,7 @@ O(1) < O(\log n) < O(n) < O(n^2) < O(2^n) \newline
|
||||
<nav class="md-footer__inner md-grid" aria-label="页脚" >
|
||||
|
||||
|
||||
<a href="../time_complexity/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.2. 时间复杂度" rel="prev">
|
||||
<a href="../time_complexity/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.2. &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>
|
||||
@@ -3092,20 +3092,20 @@ O(1) < O(\log n) < O(n) < O(n^2) < O(2^n) \newline
|
||||
<span class="md-footer__direction">
|
||||
上一页
|
||||
</span>
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../space_time_tradeoff/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.4. 权衡时间与空间" rel="next">
|
||||
<a href="../space_time_tradeoff/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.4. &nbsp; 权衡时间与空间" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
|
||||
<title>2.4. 权衡时间与空间 - Hello 算法</title>
|
||||
<title>2.4. 权衡时间与空间 - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
|
||||
</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>
|
||||
|
||||
@@ -446,14 +446,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="true">
|
||||
<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>
|
||||
|
||||
@@ -464,7 +464,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../performance_evaluation/" class="md-nav__link">
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../time_complexity/" class="md-nav__link">
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_complexity/" class="md-nav__link">
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -515,12 +515,12 @@
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</a>
|
||||
|
||||
|
||||
@@ -540,10 +540,10 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#241" class="md-nav__link">
|
||||
2.4.1. 示例题目 *
|
||||
2.4.1. 示例题目 *
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.4.1. 示例题目 *">
|
||||
<nav class="md-nav" aria-label="2.4.1. 示例题目 *">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -581,7 +581,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -622,14 +622,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>
|
||||
|
||||
@@ -640,7 +640,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-nav__link">
|
||||
3.1. 数据与内存
|
||||
3.1. 数据与内存
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -654,7 +654,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>
|
||||
|
||||
@@ -668,7 +668,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
|
||||
3.3. 小结
|
||||
3.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -711,14 +711,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>
|
||||
|
||||
@@ -729,7 +729,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>
|
||||
|
||||
@@ -743,7 +743,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>
|
||||
|
||||
@@ -757,7 +757,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>
|
||||
|
||||
@@ -771,7 +771,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
|
||||
4.4. 小结
|
||||
4.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -814,14 +814,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>
|
||||
|
||||
@@ -832,7 +832,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>
|
||||
|
||||
@@ -846,7 +846,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>
|
||||
|
||||
@@ -860,7 +860,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>
|
||||
|
||||
@@ -874,7 +874,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
|
||||
5.4. 小结
|
||||
5.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -915,14 +915,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="false">
|
||||
<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>
|
||||
|
||||
@@ -933,7 +933,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -947,7 +947,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
6.2. 哈希冲突处理
|
||||
6.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -961,7 +961,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
6.3. 小结
|
||||
6.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1006,14 +1006,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>
|
||||
|
||||
@@ -1024,7 +1024,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>
|
||||
|
||||
@@ -1038,7 +1038,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
7.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1052,7 +1052,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.3. 二叉搜索树
|
||||
7.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1066,7 +1066,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.4. AVL 树 *
|
||||
7.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1080,7 +1080,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.5. 小结
|
||||
7.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1117,14 +1117,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>
|
||||
|
||||
@@ -1135,7 +1135,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆(Heap)
|
||||
8.1. 堆(Heap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1176,14 +1176,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>
|
||||
|
||||
@@ -1194,7 +1194,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图(Graph)
|
||||
9.1. 图(Graph)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1208,7 +1208,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
9.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1222,7 +1222,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
9.3. 图的遍历
|
||||
9.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1265,14 +1265,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>
|
||||
|
||||
@@ -1283,7 +1283,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
|
||||
10.1. 线性查找
|
||||
10.1. 线性查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1297,7 +1297,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
|
||||
10.2. 二分查找
|
||||
10.2. 二分查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1311,7 +1311,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
|
||||
10.3. 哈希查找
|
||||
10.3. 哈希查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1325,7 +1325,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
10.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1372,14 +1372,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>
|
||||
|
||||
@@ -1390,7 +1390,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/intro_to_sort/" class="md-nav__link">
|
||||
11.1. 排序简介
|
||||
11.1. 排序简介
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1404,7 +1404,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
|
||||
11.2. 冒泡排序
|
||||
11.2. 冒泡排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1418,7 +1418,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
|
||||
11.3. 插入排序
|
||||
11.3. 插入排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1432,7 +1432,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
|
||||
11.4. 快速排序
|
||||
11.4. 快速排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1446,7 +1446,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
|
||||
11.5. 归并排序
|
||||
11.5. 归并排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1460,7 +1460,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/summary/" class="md-nav__link">
|
||||
11.6. 小结
|
||||
11.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1548,10 +1548,10 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#241" class="md-nav__link">
|
||||
2.4.1. 示例题目 *
|
||||
2.4.1. 示例题目 *
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.4.1. 示例题目 *">
|
||||
<nav class="md-nav" aria-label="2.4.1. 示例题目 *">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1597,11 +1597,11 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="24">2.4. 权衡时间与空间<a class="headerlink" href="#24" title="Permanent link">¶</a></h1>
|
||||
<h1 id="24">2.4. 权衡时间与空间<a class="headerlink" href="#24" title="Permanent link">¶</a></h1>
|
||||
<p>理想情况下,我们希望算法的时间复杂度和空间复杂度都能够达到最优,而实际上,同时优化时间复杂度和空间复杂度是非常困难的。</p>
|
||||
<p><strong>降低时间复杂度,往往是以提升空间复杂度为代价的,反之亦然</strong>。我们把牺牲内存空间来提升算法运行速度的思路称为「以空间换时间」;反之,称之为「以时间换空间」。选择哪种思路取决于我们更看重哪个方面。</p>
|
||||
<p>大多数情况下,时间都是比空间更宝贵的,只要空间复杂度不要太离谱、能接受就行,<strong>因此以空间换时间最为常用</strong>。</p>
|
||||
<h2 id="241">2.4.1. 示例题目 *<a class="headerlink" href="#241" title="Permanent link">¶</a></h2>
|
||||
<h2 id="241">2.4.1. 示例题目 *<a class="headerlink" href="#241" title="Permanent link">¶</a></h2>
|
||||
<p>以 LeetCode 全站第一题 <a href="https://leetcode.cn/problems/two-sum/">两数之和</a> 为例。</p>
|
||||
<div class="admonition question">
|
||||
<p class="admonition-title">两数之和</p>
|
||||
@@ -2002,7 +2002,7 @@
|
||||
<nav class="md-footer__inner md-grid" aria-label="页脚" >
|
||||
|
||||
|
||||
<a href="../space_complexity/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.3. 空间复杂度" rel="prev">
|
||||
<a href="../space_complexity/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.3. &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>
|
||||
@@ -2011,20 +2011,20 @@
|
||||
<span class="md-footer__direction">
|
||||
上一页
|
||||
</span>
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../summary/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.5. 小结" rel="next">
|
||||
<a href="../summary/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.5. &nbsp; 小结" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
|
||||
<title>2.5. 小结 - Hello 算法</title>
|
||||
<title>2.5. 小结 - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
|
||||
</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>
|
||||
|
||||
@@ -446,14 +446,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="true">
|
||||
<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>
|
||||
|
||||
@@ -464,7 +464,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../performance_evaluation/" class="md-nav__link">
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../time_complexity/" class="md-nav__link">
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_complexity/" class="md-nav__link">
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -506,7 +506,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_time_tradeoff/" class="md-nav__link">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -529,12 +529,12 @@
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
</a>
|
||||
|
||||
|
||||
@@ -616,14 +616,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>
|
||||
|
||||
@@ -634,7 +634,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-nav__link">
|
||||
3.1. 数据与内存
|
||||
3.1. 数据与内存
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -648,7 +648,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>
|
||||
|
||||
@@ -662,7 +662,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
|
||||
3.3. 小结
|
||||
3.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -705,14 +705,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>
|
||||
|
||||
@@ -723,7 +723,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>
|
||||
|
||||
@@ -737,7 +737,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>
|
||||
|
||||
@@ -751,7 +751,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>
|
||||
|
||||
@@ -765,7 +765,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
|
||||
4.4. 小结
|
||||
4.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -808,14 +808,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>
|
||||
|
||||
@@ -826,7 +826,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>
|
||||
|
||||
@@ -840,7 +840,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>
|
||||
|
||||
@@ -854,7 +854,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>
|
||||
|
||||
@@ -868,7 +868,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
|
||||
5.4. 小结
|
||||
5.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -909,14 +909,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="false">
|
||||
<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>
|
||||
|
||||
@@ -927,7 +927,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -941,7 +941,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
6.2. 哈希冲突处理
|
||||
6.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -955,7 +955,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
6.3. 小结
|
||||
6.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1000,14 +1000,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>
|
||||
|
||||
@@ -1018,7 +1018,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>
|
||||
|
||||
@@ -1032,7 +1032,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
7.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1046,7 +1046,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.3. 二叉搜索树
|
||||
7.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1060,7 +1060,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.4. AVL 树 *
|
||||
7.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1074,7 +1074,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.5. 小结
|
||||
7.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1111,14 +1111,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>
|
||||
|
||||
@@ -1129,7 +1129,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆(Heap)
|
||||
8.1. 堆(Heap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1170,14 +1170,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>
|
||||
|
||||
@@ -1188,7 +1188,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图(Graph)
|
||||
9.1. 图(Graph)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1202,7 +1202,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
9.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1216,7 +1216,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
9.3. 图的遍历
|
||||
9.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1259,14 +1259,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>
|
||||
|
||||
@@ -1277,7 +1277,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
|
||||
10.1. 线性查找
|
||||
10.1. 线性查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1291,7 +1291,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
|
||||
10.2. 二分查找
|
||||
10.2. 二分查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1305,7 +1305,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
|
||||
10.3. 哈希查找
|
||||
10.3. 哈希查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1319,7 +1319,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
10.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1366,14 +1366,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>
|
||||
|
||||
@@ -1384,7 +1384,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/intro_to_sort/" class="md-nav__link">
|
||||
11.1. 排序简介
|
||||
11.1. 排序简介
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1398,7 +1398,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
|
||||
11.2. 冒泡排序
|
||||
11.2. 冒泡排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1412,7 +1412,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
|
||||
11.3. 插入排序
|
||||
11.3. 插入排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1426,7 +1426,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
|
||||
11.4. 快速排序
|
||||
11.4. 快速排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1440,7 +1440,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
|
||||
11.5. 归并排序
|
||||
11.5. 归并排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1454,7 +1454,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/summary/" class="md-nav__link">
|
||||
11.6. 小结
|
||||
11.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1585,7 +1585,7 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="25">2.5. 小结<a class="headerlink" href="#25" title="Permanent link">¶</a></h1>
|
||||
<h1 id="25">2.5. 小结<a class="headerlink" href="#25" title="Permanent link">¶</a></h1>
|
||||
<h3 id="_1">算法效率评估<a class="headerlink" href="#_1" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>「时间效率」和「空间效率」是算法性能的两个重要的评价维度。</li>
|
||||
@@ -1689,7 +1689,7 @@
|
||||
<nav class="md-footer__inner md-grid" aria-label="页脚" >
|
||||
|
||||
|
||||
<a href="../space_time_tradeoff/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.4. 权衡时间与空间" rel="prev">
|
||||
<a href="../space_time_tradeoff/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.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>
|
||||
@@ -1698,20 +1698,20 @@
|
||||
<span class="md-footer__direction">
|
||||
上一页
|
||||
</span>
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-footer__link md-footer__link--next" aria-label="下一页: 3.1. 数据与内存" rel="next">
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-footer__link md-footer__link--next" aria-label="下一页: 3.1. &nbsp; 数据与内存" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
3.1. 数据与内存
|
||||
3.1. 数据与内存
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
|
||||
<title>2.2. 时间复杂度 - Hello 算法</title>
|
||||
<title>2.2. 时间复杂度 - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
|
||||
</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>
|
||||
|
||||
@@ -446,14 +446,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="true">
|
||||
<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>
|
||||
|
||||
@@ -464,7 +464,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../performance_evaluation/" class="md-nav__link">
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -487,12 +487,12 @@
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
2.2. 时间复杂度
|
||||
2.2. 时间复杂度
|
||||
</a>
|
||||
|
||||
|
||||
@@ -512,31 +512,31 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#221" class="md-nav__link">
|
||||
2.2.1. 统计算法运行时间
|
||||
2.2.1. 统计算法运行时间
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#222" class="md-nav__link">
|
||||
2.2.2. 统计时间增长趋势
|
||||
2.2.2. 统计时间增长趋势
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#223" class="md-nav__link">
|
||||
2.2.3. 函数渐近上界
|
||||
2.2.3. 函数渐近上界
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#224" class="md-nav__link">
|
||||
2.2.4. 推算方法
|
||||
2.2.4. 推算方法
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.2.4. 推算方法">
|
||||
<nav class="md-nav" aria-label="2.2.4. 推算方法">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -560,10 +560,10 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#225" class="md-nav__link">
|
||||
2.2.5. 常见类型
|
||||
2.2.5. 常见类型
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.2.5. 常见类型">
|
||||
<nav class="md-nav" aria-label="2.2.5. 常见类型">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -622,7 +622,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#226" class="md-nav__link">
|
||||
2.2.6. 最差、最佳、平均时间复杂度
|
||||
2.2.6. 最差、最佳、平均时间复杂度
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -643,7 +643,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_complexity/" class="md-nav__link">
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -657,7 +657,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_time_tradeoff/" class="md-nav__link">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 权衡时间与空间
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -671,7 +671,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
2.5. 小结
|
||||
2.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -712,14 +712,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>
|
||||
|
||||
@@ -730,7 +730,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/data_and_memory/" class="md-nav__link">
|
||||
3.1. 数据与内存
|
||||
3.1. 数据与内存
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -744,7 +744,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>
|
||||
|
||||
@@ -758,7 +758,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
|
||||
3.3. 小结
|
||||
3.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -801,14 +801,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>
|
||||
|
||||
@@ -819,7 +819,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>
|
||||
|
||||
@@ -833,7 +833,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>
|
||||
|
||||
@@ -847,7 +847,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>
|
||||
|
||||
@@ -861,7 +861,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
|
||||
4.4. 小结
|
||||
4.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -904,14 +904,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>
|
||||
|
||||
@@ -922,7 +922,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>
|
||||
|
||||
@@ -936,7 +936,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>
|
||||
|
||||
@@ -950,7 +950,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>
|
||||
|
||||
@@ -964,7 +964,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
|
||||
5.4. 小结
|
||||
5.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1005,14 +1005,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="false">
|
||||
<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>
|
||||
|
||||
@@ -1023,7 +1023,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
6.1. 哈希表(HashMap)
|
||||
6.1. 哈希表(HashMap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1037,7 +1037,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
6.2. 哈希冲突处理
|
||||
6.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1051,7 +1051,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
6.3. 小结
|
||||
6.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1096,14 +1096,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>
|
||||
|
||||
@@ -1114,7 +1114,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>
|
||||
|
||||
@@ -1128,7 +1128,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
7.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1142,7 +1142,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.3. 二叉搜索树
|
||||
7.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1156,7 +1156,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.4. AVL 树 *
|
||||
7.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1170,7 +1170,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.5. 小结
|
||||
7.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1207,14 +1207,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>
|
||||
|
||||
@@ -1225,7 +1225,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆(Heap)
|
||||
8.1. 堆(Heap)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1266,14 +1266,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>
|
||||
|
||||
@@ -1284,7 +1284,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图(Graph)
|
||||
9.1. 图(Graph)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1298,7 +1298,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
9.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1312,7 +1312,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
9.3. 图的遍历
|
||||
9.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1355,14 +1355,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>
|
||||
|
||||
@@ -1373,7 +1373,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
|
||||
10.1. 线性查找
|
||||
10.1. 线性查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1387,7 +1387,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
|
||||
10.2. 二分查找
|
||||
10.2. 二分查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1401,7 +1401,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
|
||||
10.3. 哈希查找
|
||||
10.3. 哈希查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1415,7 +1415,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
10.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1462,14 +1462,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>
|
||||
|
||||
@@ -1480,7 +1480,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/intro_to_sort/" class="md-nav__link">
|
||||
11.1. 排序简介
|
||||
11.1. 排序简介
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1494,7 +1494,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
|
||||
11.2. 冒泡排序
|
||||
11.2. 冒泡排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1508,7 +1508,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
|
||||
11.3. 插入排序
|
||||
11.3. 插入排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1522,7 +1522,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
|
||||
11.4. 快速排序
|
||||
11.4. 快速排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1536,7 +1536,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
|
||||
11.5. 归并排序
|
||||
11.5. 归并排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1550,7 +1550,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/summary/" class="md-nav__link">
|
||||
11.6. 小结
|
||||
11.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1638,31 +1638,31 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#221" class="md-nav__link">
|
||||
2.2.1. 统计算法运行时间
|
||||
2.2.1. 统计算法运行时间
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#222" class="md-nav__link">
|
||||
2.2.2. 统计时间增长趋势
|
||||
2.2.2. 统计时间增长趋势
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#223" class="md-nav__link">
|
||||
2.2.3. 函数渐近上界
|
||||
2.2.3. 函数渐近上界
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#224" class="md-nav__link">
|
||||
2.2.4. 推算方法
|
||||
2.2.4. 推算方法
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.2.4. 推算方法">
|
||||
<nav class="md-nav" aria-label="2.2.4. 推算方法">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1686,10 +1686,10 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#225" class="md-nav__link">
|
||||
2.2.5. 常见类型
|
||||
2.2.5. 常见类型
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2.2.5. 常见类型">
|
||||
<nav class="md-nav" aria-label="2.2.5. 常见类型">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1748,7 +1748,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#226" class="md-nav__link">
|
||||
2.2.6. 最差、最佳、平均时间复杂度
|
||||
2.2.6. 最差、最佳、平均时间复杂度
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1777,8 +1777,8 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="22">2.2. 时间复杂度<a class="headerlink" href="#22" title="Permanent link">¶</a></h1>
|
||||
<h2 id="221">2.2.1. 统计算法运行时间<a class="headerlink" href="#221" title="Permanent link">¶</a></h2>
|
||||
<h1 id="22">2.2. 时间复杂度<a class="headerlink" href="#22" title="Permanent link">¶</a></h1>
|
||||
<h2 id="221">2.2.1. 统计算法运行时间<a class="headerlink" href="#221" title="Permanent link">¶</a></h2>
|
||||
<p>运行时间能够直观且准确地体现出算法的效率水平。如果我们想要 <strong>准确预估一段代码的运行时间</strong> ,该如何做呢?</p>
|
||||
<ol>
|
||||
<li>首先需要 <strong>确定运行平台</strong> ,包括硬件配置、编程语言、系统环境等,这些都会影响到代码的运行效率。</li>
|
||||
@@ -1915,7 +1915,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<p>但实际上, <strong>统计算法的运行时间既不合理也不现实</strong>。首先,我们不希望预估时间和运行平台绑定,毕竟算法需要跑在各式各样的平台之上。其次,我们很难获知每一种操作的运行时间,这为预估过程带来了极大的难度。</p>
|
||||
<h2 id="222">2.2.2. 统计时间增长趋势<a class="headerlink" href="#222" title="Permanent link">¶</a></h2>
|
||||
<h2 id="222">2.2.2. 统计时间增长趋势<a class="headerlink" href="#222" title="Permanent link">¶</a></h2>
|
||||
<p>「时间复杂度分析」采取了不同的做法,其统计的不是算法运行时间,而是 <strong>算法运行时间随着数据量变大时的增长趋势</strong> 。</p>
|
||||
<p>“时间增长趋势”这个概念比较抽象,我们借助一个例子来理解。设输入数据大小为 <span class="arithmatex">\(n\)</span> ,给定三个算法 <code>A</code> , <code>B</code> , <code>C</code> 。</p>
|
||||
<ul>
|
||||
@@ -2111,7 +2111,7 @@
|
||||
<p><strong>时间复杂度可以有效评估算法效率</strong>。算法 <code>B</code> 运行时间的增长是线性的,在 <span class="arithmatex">\(n > 1\)</span> 时慢于算法 <code>A</code> ,在 <span class="arithmatex">\(n > 1000000\)</span> 时慢于算法 <code>C</code> 。实质上,只要输入数据大小 <span class="arithmatex">\(n\)</span> 足够大,复杂度为「常数阶」的算法一定优于「线性阶」的算法,这也正是时间增长趋势的含义。</p>
|
||||
<p><strong>时间复杂度的推算方法更加简便</strong>。在时间复杂度分析中,我们可以将统计「计算操作的运行时间」简化为统计「计算操作的数量」,这是因为,无论是运行平台还是计算操作类型,都与算法运行时间的增长趋势无关。因而,我们可以简单地将所有计算操作的执行时间统一看作是相同的“单位时间”,这样的简化做法大大降低了估算难度。</p>
|
||||
<p><strong>时间复杂度也存在一定的局限性</strong>。比如,虽然算法 <code>A</code> 和 <code>C</code> 的时间复杂度相同,但是实际的运行时间有非常大的差别。再比如,虽然算法 <code>B</code> 比 <code>C</code> 的时间复杂度要更高,但在输入数据大小 <span class="arithmatex">\(n\)</span> 比较小时,算法 <code>B</code> 是要明显优于算法 <code>C</code> 的。对于以上情况,我们很难仅凭时间复杂度来判定算法效率高低。然而,即使存在这些问题,计算复杂度仍然是评判算法效率的最有效且常用的方法。</p>
|
||||
<h2 id="223">2.2.3. 函数渐近上界<a class="headerlink" href="#223" title="Permanent link">¶</a></h2>
|
||||
<h2 id="223">2.2.3. 函数渐近上界<a class="headerlink" href="#223" title="Permanent link">¶</a></h2>
|
||||
<p>设算法「计算操作数量」为 <span class="arithmatex">\(T(n)\)</span> ,其是一个关于输入数据大小 <span class="arithmatex">\(n\)</span> 的函数。例如,以下算法的操作数量为</p>
|
||||
<div class="arithmatex">\[
|
||||
T(n) = 3 + 2n
|
||||
@@ -2254,7 +2254,7 @@ $$</p>
|
||||
<p class="admonition-title">Tip</p>
|
||||
<p>渐近上界的数学味儿有点重,如果你感觉没有完全理解,无需担心,因为在实际使用中我们只需要会推算即可,数学意义可以慢慢领悟。</p>
|
||||
</div>
|
||||
<h2 id="224">2.2.4. 推算方法<a class="headerlink" href="#224" title="Permanent link">¶</a></h2>
|
||||
<h2 id="224">2.2.4. 推算方法<a class="headerlink" href="#224" title="Permanent link">¶</a></h2>
|
||||
<p>推算出 <span class="arithmatex">\(f(n)\)</span> 后,我们就得到时间复杂度 <span class="arithmatex">\(O(f(n))\)</span> 。那么,如何来确定渐近上界 <span class="arithmatex">\(f(n)\)</span> 呢?总体分为两步,首先「统计操作数量」,然后「判断渐近上界」。</p>
|
||||
<h3 id="1">1) 统计操作数量<a class="headerlink" href="#1" title="Permanent link">¶</a></h3>
|
||||
<p>对着代码,从上到下一行一行地计数即可。然而,<strong>由于上述 <span class="arithmatex">\(c \cdot f(n)\)</span> 中的常数项 <span class="arithmatex">\(c\)</span> 可以取任意大小,因此操作数量 <span class="arithmatex">\(T(n)\)</span> 中的各种系数、常数项都可以被忽略</strong>。根据此原则,可以总结出以下计数偷懒技巧:</p>
|
||||
@@ -2468,7 +2468,7 @@ T(n) & = n^2 + n & \text{偷懒统计 (o.O)}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<h2 id="225">2.2.5. 常见类型<a class="headerlink" href="#225" title="Permanent link">¶</a></h2>
|
||||
<h2 id="225">2.2.5. 常见类型<a class="headerlink" href="#225" title="Permanent link">¶</a></h2>
|
||||
<p>设输入数据大小为 <span class="arithmatex">\(n\)</span> ,常见的时间复杂度类型有(从低到高排列)</p>
|
||||
<div class="arithmatex">\[
|
||||
\begin{aligned}
|
||||
@@ -3898,7 +3898,7 @@ n! = n \times (n - 1) \times (n - 2) \times \cdots \times 2 \times 1
|
||||
<p><img alt="time_complexity_factorial" src="../time_complexity.assets/time_complexity_factorial.png" /></p>
|
||||
<p align="center"> Fig. 阶乘阶的时间复杂度 </p>
|
||||
|
||||
<h2 id="226">2.2.6. 最差、最佳、平均时间复杂度<a class="headerlink" href="#226" title="Permanent link">¶</a></h2>
|
||||
<h2 id="226">2.2.6. 最差、最佳、平均时间复杂度<a class="headerlink" href="#226" title="Permanent link">¶</a></h2>
|
||||
<p><strong>某些算法的时间复杂度不是恒定的,而是与输入数据的分布有关</strong>。举一个例子,输入一个长度为 <span class="arithmatex">\(n\)</span> 数组 <code>nums</code> ,其中 <code>nums</code> 由从 <span class="arithmatex">\(1\)</span> 至 <span class="arithmatex">\(n\)</span> 的数字组成,但元素顺序是随机打乱的;算法的任务是返回元素 <span class="arithmatex">\(1\)</span> 的索引。我们可以得出以下结论:</p>
|
||||
<ul>
|
||||
<li>当 <code>nums = [?, ?, ..., 1]</code>,即当末尾元素是 <span class="arithmatex">\(1\)</span> 时,则需完整遍历数组,此时达到 <strong>最差时间复杂度 <span class="arithmatex">\(O(n)\)</span></strong> ;</li>
|
||||
@@ -4278,7 +4278,7 @@ n! = n \times (n - 1) \times (n - 2) \times \cdots \times 2 \times 1
|
||||
<nav class="md-footer__inner md-grid" aria-label="页脚" >
|
||||
|
||||
|
||||
<a href="../performance_evaluation/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.1. 算法效率评估" rel="prev">
|
||||
<a href="../performance_evaluation/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 2.1. &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>
|
||||
@@ -4287,20 +4287,20 @@ n! = n \times (n - 1) \times (n - 2) \times \cdots \times 2 \times 1
|
||||
<span class="md-footer__direction">
|
||||
上一页
|
||||
</span>
|
||||
2.1. 算法效率评估
|
||||
2.1. 算法效率评估
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../space_complexity/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.3. 空间复杂度" rel="next">
|
||||
<a href="../space_complexity/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.3. &nbsp; 空间复杂度" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
2.3. 空间复杂度
|
||||
2.3. 空间复杂度
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
Reference in New Issue
Block a user