mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-06 22:34:18 +08:00
deploy
This commit is contained in:
@ -18,7 +18,7 @@
|
||||
<link rel="prev" href="../time_complexity/">
|
||||
|
||||
|
||||
<link rel="next" href="../space_time_tradeoff/">
|
||||
<link rel="next" href="../summary/">
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.1.6">
|
||||
@ -443,8 +443,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
||||
@ -586,6 +584,13 @@
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#234" class="md-nav__link">
|
||||
2.3.4. 权衡时间与空间
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@ -602,23 +607,9 @@
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../space_time_tradeoff/" class="md-nav__link">
|
||||
2.4. 权衡时间与空间
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
2.5. 小结
|
||||
2.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -945,21 +936,17 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -969,36 +956,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
6.1. 哈希表
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
6.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
6.3. 小结
|
||||
<a href="../../chapter_binary_search/binary_search/" class="md-nav__link">
|
||||
6.1. 二分查找
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1036,21 +995,17 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -1060,8 +1015,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree/" class="md-nav__link">
|
||||
7.1. 二叉树
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
7.1. 哈希表
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1074,8 +1029,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
7.2. 哈希冲突处理
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1088,36 +1043,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.5. 小结
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
7.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1155,17 +1082,21 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -1175,8 +1106,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆
|
||||
<a href="../../chapter_tree/binary_tree/" class="md-nav__link">
|
||||
8.1. 二叉树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1189,8 +1120,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/build_heap/" class="md-nav__link">
|
||||
8.2. 建堆操作 *
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
8.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1203,8 +1134,36 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/summary/" class="md-nav__link">
|
||||
8.3. 小结
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
8.3. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
8.4. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
8.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1242,19 +1201,17 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -1264,8 +1221,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
9.1. 堆
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1278,8 +1235,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
<a href="../../chapter_heap/build_heap/" class="md-nav__link">
|
||||
9.2. 建堆操作 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1292,22 +1249,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
9.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/summary/" class="md-nav__link">
|
||||
9.4. 小结
|
||||
<a href="../../chapter_heap/summary/" class="md-nav__link">
|
||||
9.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1350,14 +1293,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>
|
||||
|
||||
@ -1367,8 +1310,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
|
||||
10.1. 线性查找
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
10.1. 图
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1381,8 +1324,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
|
||||
10.2. 二分查找
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
10.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1395,8 +1338,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
|
||||
10.3. 哈希查找
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
10.3. 图的遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1409,7 +1352,7 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
<a href="../../chapter_graph/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
</a>
|
||||
</li>
|
||||
@ -1551,7 +1494,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/bucket_sort/" class="md-nav__link">
|
||||
11.6. 桶排序(New)
|
||||
11.6. 桶排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1565,7 +1508,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/counting_sort/" class="md-nav__link">
|
||||
11.7. 计数排序(New)
|
||||
11.7. 计数排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1579,7 +1522,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_sorting/radix_sort/" class="md-nav__link">
|
||||
11.8. 基数排序(New)
|
||||
11.8. 基数排序
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1627,17 +1570,21 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_13" id="__nav_13_label" tabindex="0">
|
||||
12. 回溯算法
|
||||
12. 搜索算法
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_13">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
12. 回溯算法
|
||||
12. 搜索算法
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@ -1647,8 +1594,36 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
|
||||
12.1. 回溯算法(New)
|
||||
<a href="../../chapter_searching/searching_algorithm_revisited/" class="md-nav__link">
|
||||
12.1. 搜索算法(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/replace_linear_by_hashing/" class="md-nav__link">
|
||||
12.2. 哈希优化策略
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_searching/summary/" class="md-nav__link">
|
||||
12.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1682,19 +1657,17 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0">
|
||||
13. 附录
|
||||
13. 回溯算法
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_14">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
13. 附录
|
||||
13. 回溯算法
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
@ -1704,22 +1677,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_appendix/installation/" class="md-nav__link">
|
||||
13.1. 编程环境安装
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_appendix/contribution/" class="md-nav__link">
|
||||
13.2. 一起参与创作
|
||||
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
|
||||
13.1. 回溯算法(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1752,6 +1711,77 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
|
||||
14. 附录
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_15">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
14. 附录
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_appendix/installation/" class="md-nav__link">
|
||||
14.1. 编程环境安装
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_appendix/contribution/" class="md-nav__link">
|
||||
14.2. 一起参与创作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1764,8 +1794,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_15">
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_16">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
参考文献
|
||||
</label>
|
||||
@ -1865,6 +1895,13 @@
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#234" class="md-nav__link">
|
||||
2.3.4. 权衡时间与空间
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@ -3239,6 +3276,10 @@ O(1) < O(\log n) < O(n) < O(n^2) < O(2^n) \newline
|
||||
<p>对数阶常见于分治算法和数据类型转换等。</p>
|
||||
<p>例如“归并排序”算法,输入长度为 <span class="arithmatex">\(n\)</span> 的数组,每轮递归将数组从中点划分为两半,形成高度为 <span class="arithmatex">\(\log n\)</span> 的递归树,使用 <span class="arithmatex">\(O(\log n)\)</span> 栈帧空间。</p>
|
||||
<p>再例如“数字转化为字符串”,输入任意正整数 <span class="arithmatex">\(n\)</span> ,它的位数为 <span class="arithmatex">\(\log_{10} n\)</span> ,即对应字符串长度为 <span class="arithmatex">\(\log_{10} n\)</span> ,因此空间复杂度为 <span class="arithmatex">\(O(\log_{10} n) = O(\log n)\)</span> 。</p>
|
||||
<h2 id="234">2.3.4. 权衡时间与空间<a class="headerlink" href="#234" title="Permanent link">¶</a></h2>
|
||||
<p>理想情况下,我们希望算法的时间复杂度和空间复杂度都能达到最优。然而在实际情况中,同时优化时间复杂度和空间复杂度通常是非常困难的。</p>
|
||||
<p><strong>降低时间复杂度通常需要以提升空间复杂度为代价,反之亦然</strong>。我们将牺牲内存空间来提升算法运行速度的思路称为“以空间换时间”;反之,则称为“以时间换空间”。</p>
|
||||
<p>选择哪种思路取决于我们更看重哪个方面。在大多数情况下,时间比空间更宝贵,因此以空间换时间通常是更常用的策略。当然,在数据量很大的情况下,控制空间复杂度也是非常重要的。</p>
|
||||
|
||||
|
||||
|
||||
@ -3332,13 +3373,13 @@ O(1) < O(\log n) < O(n) < O(n^2) < O(2^n) \newline
|
||||
|
||||
|
||||
|
||||
<a href="../space_time_tradeoff/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.4. &nbsp; 权衡时间与空间" rel="next">
|
||||
<a href="../summary/" class="md-footer__link md-footer__link--next" aria-label="下一页: 2.4. &nbsp; 小结" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
<div class="md-ellipsis">
|
||||
2.4. 权衡时间与空间
|
||||
2.4. 小结
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
Reference in New Issue
Block a user