mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-28 04:42:48 +08:00
deploy
This commit is contained in:
@ -15,17 +15,17 @@
|
||||
<link rel="canonical" href="https://www.hello-algo.com/chapter_searching/searching_algorithm_revisited/">
|
||||
|
||||
|
||||
<link rel="prev" href="../../chapter_sorting/summary/">
|
||||
<link rel="prev" href="../replace_linear_by_hashing/">
|
||||
|
||||
|
||||
<link rel="next" href="../replace_linear_by_hashing/">
|
||||
<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">
|
||||
|
||||
|
||||
|
||||
<title>12.1. 搜索算法(New) - Hello 算法</title>
|
||||
<title>10.4. 重识搜索算法 - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
<div data-md-component="skip">
|
||||
|
||||
|
||||
<a href="#121" class="md-skip">
|
||||
<a href="#104" class="md-skip">
|
||||
跳转至
|
||||
</a>
|
||||
|
||||
@ -113,7 +113,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
12.1. 搜索算法(New)
|
||||
10.4. 重识搜索算法
|
||||
|
||||
</span>
|
||||
</div>
|
||||
@ -865,17 +865,19 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -885,8 +887,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_binary_search/binary_search/" class="md-nav__link">
|
||||
6.1. 二分查找
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
6.1. 哈希表
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -899,8 +901,22 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_binary_search/binary_search_edge/" class="md-nav__link">
|
||||
6.2. 二分查找边界
|
||||
<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>
|
||||
</li>
|
||||
|
||||
@ -938,17 +954,23 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -958,8 +980,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
|
||||
7.1. 哈希表
|
||||
<a href="../../chapter_tree/binary_tree/" class="md-nav__link">
|
||||
7.1. 二叉树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -972,8 +994,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
|
||||
7.2. 哈希冲突处理
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
7.2. 二叉树遍历
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -986,8 +1008,50 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_hashing/summary/" class="md-nav__link">
|
||||
7.3. 小结
|
||||
<a href="../../chapter_tree/array_representation_of_tree/" class="md-nav__link">
|
||||
7.3. 二叉树数组表示
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
7.4. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
7.5. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
7.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1025,23 +1089,17 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -1051,8 +1109,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree/" class="md-nav__link">
|
||||
8.1. 二叉树
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
8.1. 堆
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1065,8 +1123,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
|
||||
8.2. 二叉树遍历
|
||||
<a href="../../chapter_heap/build_heap/" class="md-nav__link">
|
||||
8.2. 建堆操作 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1079,50 +1137,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/array_representation_of_tree/" class="md-nav__link">
|
||||
8.3. 二叉树数组表示
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
|
||||
8.4. 二叉搜索树
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
|
||||
8.5. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_tree/summary/" class="md-nav__link">
|
||||
8.6. 小结
|
||||
<a href="../../chapter_heap/summary/" class="md-nav__link">
|
||||
8.3. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1160,17 +1176,19 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@ -1180,8 +1198,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/heap/" class="md-nav__link">
|
||||
9.1. 堆
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
9.1. 图
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1194,8 +1212,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/build_heap/" class="md-nav__link">
|
||||
9.2. 建堆操作 *
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
9.2. 图基础操作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1208,8 +1226,22 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_heap/summary/" class="md-nav__link">
|
||||
9.3. 小结
|
||||
<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>
|
||||
</li>
|
||||
|
||||
@ -1228,16 +1260,18 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||||
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
|
||||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" checked>
|
||||
|
||||
|
||||
|
||||
@ -1249,17 +1283,19 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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">
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="true">
|
||||
<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>
|
||||
|
||||
@ -1269,8 +1305,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph/" class="md-nav__link">
|
||||
10.1. 图
|
||||
<a href="../binary_search/" class="md-nav__link">
|
||||
10.1. 二分查找(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1283,8 +1319,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
|
||||
10.2. 图基础操作
|
||||
<a href="../binary_search_edge/" class="md-nav__link">
|
||||
10.2. 二分查找边界(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1297,8 +1333,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
|
||||
10.3. 图的遍历
|
||||
<a href="../replace_linear_by_hashing/" class="md-nav__link">
|
||||
10.3. 哈希优化策略
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1309,10 +1345,79 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--active">
|
||||
|
||||
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
10.4. 重识搜索算法
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
10.4. 重识搜索算法
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__title" for="__toc">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
目录
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1041" class="md-nav__link">
|
||||
10.4.1. 暴力搜索
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1042" class="md-nav__link">
|
||||
10.4.2. 自适应搜索
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1043" class="md-nav__link">
|
||||
10.4.3. 搜索方法选取
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_graph/summary/" class="md-nav__link">
|
||||
10.4. 小结
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
10.5. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1514,18 +1619,16 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
||||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" checked>
|
||||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
|
||||
|
||||
|
||||
|
||||
@ -1538,14 +1641,14 @@
|
||||
|
||||
|
||||
<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="true">
|
||||
<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>
|
||||
|
||||
@ -1553,79 +1656,10 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item md-nav__item--active">
|
||||
|
||||
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
12.1. 搜索算法(New)
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
12.1. 搜索算法(New)
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__title" for="__toc">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
目录
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1211" class="md-nav__link">
|
||||
12.1.1. 暴力搜索
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1212" class="md-nav__link">
|
||||
12.1.2. 自适应搜索
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1213" class="md-nav__link">
|
||||
12.1.3. 搜索方法选取
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../replace_linear_by_hashing/" class="md-nav__link">
|
||||
12.2. 哈希优化策略
|
||||
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
|
||||
12.1. 回溯算法(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1638,8 +1672,22 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
12.3. 小结
|
||||
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
|
||||
12.2. 全排列问题(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
|
||||
12.3. N 皇后问题(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1675,19 +1723,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>
|
||||
|
||||
@ -1697,8 +1743,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
|
||||
13.1. 回溯算法(New)
|
||||
<a href="../../chapter_appendix/installation/" class="md-nav__link">
|
||||
13.1. 编程环境安装
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1711,22 +1757,8 @@
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
|
||||
13.2. 全排列问题(New)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
|
||||
13.3. N 皇后问题(New)
|
||||
<a href="../../chapter_appendix/contribution/" class="md-nav__link">
|
||||
13.2. 一起参与创作
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -1759,77 +1791,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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" >
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1842,8 +1803,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_16">
|
||||
<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>
|
||||
参考文献
|
||||
</label>
|
||||
@ -1884,22 +1845,22 @@
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1211" class="md-nav__link">
|
||||
12.1.1. 暴力搜索
|
||||
<a href="#1041" class="md-nav__link">
|
||||
10.4.1. 暴力搜索
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1212" class="md-nav__link">
|
||||
12.1.2. 自适应搜索
|
||||
<a href="#1042" class="md-nav__link">
|
||||
10.4.2. 自适应搜索
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1213" class="md-nav__link">
|
||||
12.1.3. 搜索方法选取
|
||||
<a href="#1043" class="md-nav__link">
|
||||
10.4.3. 搜索方法选取
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@ -1927,10 +1888,10 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="121">12.1. 搜索算法<a class="headerlink" href="#121" title="Permanent link">¶</a></h1>
|
||||
<h1 id="104">10.4. 搜索算法<a class="headerlink" href="#104" title="Permanent link">¶</a></h1>
|
||||
<p>「搜索算法 Searching Algorithm」用于在数据结构(例如数组、链表、树或图)中搜索一个或一组满足特定条件的元素。</p>
|
||||
<p>我们已经学过数组、链表、树和图的遍历方法,也学过哈希表、二叉搜索树等可用于实现查询的复杂数据结构。因此,搜索算法对于我们来说并不陌生。在本节,我们将从更加系统的视角切入,重新审视搜索算法。</p>
|
||||
<h2 id="1211">12.1.1. 暴力搜索<a class="headerlink" href="#1211" title="Permanent link">¶</a></h2>
|
||||
<h2 id="1041">10.4.1. 暴力搜索<a class="headerlink" href="#1041" title="Permanent link">¶</a></h2>
|
||||
<p>暴力搜索通过遍历数据结构的每个元素来定位目标元素。</p>
|
||||
<ul>
|
||||
<li>「线性搜索」适用于数组和链表等线性数据结构。它从数据结构的一端开始,逐个访问元素,直到找到目标元素或到达另一端仍没有找到目标元素为止。</li>
|
||||
@ -1938,7 +1899,7 @@
|
||||
</ul>
|
||||
<p>暴力搜索的优点是简单且通用性好,<strong>无需对数据做预处理和借助额外的数据结构</strong>。</p>
|
||||
<p>然而,<strong>此类算法的时间复杂度为 <span class="arithmatex">\(O(n)\)</span></strong> ,其中 <span class="arithmatex">\(n\)</span> 为元素数量,因此在数据量较大的情况下性能较差。</p>
|
||||
<h2 id="1212">12.1.2. 自适应搜索<a class="headerlink" href="#1212" title="Permanent link">¶</a></h2>
|
||||
<h2 id="1042">10.4.2. 自适应搜索<a class="headerlink" href="#1042" title="Permanent link">¶</a></h2>
|
||||
<p>自适应搜索利用数据的特有属性(例如有序性)来优化搜索过程,从而更高效地定位目标元素。</p>
|
||||
<ul>
|
||||
<li>「二分查找」利用数据的有序性实现高效查找,仅适用于数组。</li>
|
||||
@ -1951,7 +1912,7 @@
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>自适应搜索算法常被称为查找算法,<strong>主要关注在特定数据结构中快速检索目标元素</strong>。</p>
|
||||
</div>
|
||||
<h2 id="1213">12.1.3. 搜索方法选取<a class="headerlink" href="#1213" title="Permanent link">¶</a></h2>
|
||||
<h2 id="1043">10.4.3. 搜索方法选取<a class="headerlink" href="#1043" title="Permanent link">¶</a></h2>
|
||||
<p>给定大小为 <span class="arithmatex">\(n\)</span> 的一组数据,我们可以使用线性搜索、二分查找、树查找、哈希查找等多种方法在该数据中搜索目标元素。各个方法的工作原理如下图所示。</p>
|
||||
<p><img alt="多种搜索策略" src="../searching_algorithm_revisited.assets/searching_algorithms.png" /></p>
|
||||
<p align="center"> Fig. 多种搜索策略 </p>
|
||||
@ -2118,7 +2079,7 @@
|
||||
<nav class="md-footer__inner md-grid" aria-label="页脚" >
|
||||
|
||||
|
||||
<a href="../../chapter_sorting/summary/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 11.9. &nbsp; 小结" rel="prev">
|
||||
<a href="../replace_linear_by_hashing/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 10.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>
|
||||
@ -2127,20 +2088,20 @@
|
||||
上一页
|
||||
</span>
|
||||
<div class="md-ellipsis">
|
||||
11.9. 小结
|
||||
10.3. 哈希优化策略
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../replace_linear_by_hashing/" class="md-footer__link md-footer__link--next" aria-label="下一页: 12.2. &nbsp; 哈希优化策略" rel="next">
|
||||
<a href="../summary/" class="md-footer__link md-footer__link--next" aria-label="下一页: 10.5. &nbsp; 小结" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
<div class="md-ellipsis">
|
||||
12.2. 哈希优化策略
|
||||
10.5. 小结
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
Reference in New Issue
Block a user