This commit is contained in:
krahets
2024-04-03 04:41:32 +08:00
parent f95548a8c4
commit f680a185b5
168 changed files with 18077 additions and 8236 deletions
+134 -77
View File
@@ -334,6 +334,63 @@
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../../chapter_hello_algo/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m13.13 22.19-1.63-3.83c1.57-.58 3.04-1.36 4.4-2.27l-2.77 6.1M5.64 12.5l-3.83-1.63 6.1-2.77C7 9.46 6.22 10.93 5.64 12.5M19.22 4c.28 0 .53 0 .74.05.17 1.39-.02 4.25-3.3 7.53-1.7 1.71-3.73 3.02-6.01 3.89l-2.15-2.1c.92-2.31 2.23-4.34 3.92-6.03C15.18 4.58 17.64 4 19.22 4m0-2c-1.98 0-4.98.69-8.22 3.93-2.19 2.19-3.5 4.6-4.35 6.71-.28.75-.09 1.57.46 2.13l2.13 2.12c.38.38.89.61 1.42.61.23 0 .47-.06.7-.15A19.1 19.1 0 0 0 18.07 13c5.66-5.66 3.54-10.61 3.54-10.61S20.7 2 19.22 2m-4.68 7.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0c.77.78.78 2.05 0 2.83-.78.78-2.05.78-2.83 0m-5.66 7.07-1.41-1.41 1.41 1.41M6.24 22l3.64-3.64c-.34-.09-.67-.24-.97-.45L4.83 22h1.41M2 22h1.41l4.77-4.76-1.42-1.41L2 20.59V22m0-2.83 4.09-4.08c-.21-.3-.36-.62-.45-.97L2 17.76v1.41Z"/></svg>
<span class="md-ellipsis">
</span>
</a>
</div>
<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>
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
@@ -349,7 +406,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
@@ -367,14 +424,14 @@
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<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>
第 0 章 &nbsp; 前言
</label>
@@ -480,7 +537,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
@@ -498,14 +555,14 @@
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
第 1 章 &nbsp; 初识算法
</label>
@@ -615,7 +672,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
@@ -633,14 +690,14 @@
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<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>
第 2 章 &nbsp; 复杂度分析
</label>
@@ -792,7 +849,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
@@ -810,14 +867,14 @@
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<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>
第 3 章 &nbsp; 数据结构
</label>
@@ -971,7 +1028,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
@@ -989,14 +1046,14 @@
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
第 4 章 &nbsp; 数组与链表
</label>
@@ -1290,7 +1347,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
@@ -1308,14 +1365,14 @@
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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>
第 5 章 &nbsp; 栈与队列
</label>
@@ -1444,7 +1501,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
@@ -1462,14 +1519,14 @@
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<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>
第 6 章 &nbsp; 哈希表
</label>
@@ -1602,7 +1659,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
@@ -1620,14 +1677,14 @@
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<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>
第 7 章 &nbsp;
</label>
@@ -1798,7 +1855,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
@@ -1816,14 +1873,14 @@
</a>
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<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>
第 8 章 &nbsp;
</label>
@@ -1952,7 +2009,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
@@ -1970,14 +2027,14 @@
</a>
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<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>
第 9 章 &nbsp;
</label>
@@ -2110,7 +2167,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
@@ -2128,14 +2185,14 @@
</a>
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<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>
第 10 章 &nbsp; 搜索
</label>
@@ -2320,7 +2377,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
@@ -2338,14 +2395,14 @@
</a>
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<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>
第 11 章 &nbsp; 排序
</label>
@@ -2623,7 +2680,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
@@ -2641,14 +2698,14 @@
</a>
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<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>
第 12 章 &nbsp; 分治
</label>
@@ -2800,7 +2857,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
@@ -2818,14 +2875,14 @@
</a>
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<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>
第 13 章 &nbsp; 回溯
</label>
@@ -2981,7 +3038,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
@@ -2999,14 +3056,14 @@
</a>
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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>
第 14 章 &nbsp; 动态规划
</label>
@@ -3200,7 +3257,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -3218,14 +3275,14 @@
</a>
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
第 15 章 &nbsp; 贪心
</label>
@@ -3373,7 +3430,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
@@ -3391,14 +3448,14 @@
</a>
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<label class="md-nav__link " for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
第 16 章 &nbsp; 附录
</label>
@@ -3498,7 +3555,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
@@ -3517,8 +3574,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -3555,7 +3612,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
@@ -3563,7 +3620,7 @@
<a href="../../chapter_paperbook/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5V2M6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5Z"/></svg>
<span class="md-ellipsis">
纸质书
@@ -3582,8 +3639,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
纸质书
</label>
@@ -3757,7 +3814,7 @@
<!-- Page content -->
<h1 id="41">4.1 &nbsp; 数组<a class="headerlink" href="#41" title="Permanent link">&para;</a></h1>
<p>数组 array是一种线性数据结构,其将相同类型的元素存储在连续的内存空间中。我们将元素在数组中的位置称为该元素的索引 index。图 4-1 展示了数组的主要概念和存储方式。</p>
<p><u>数组array</u>是一种线性数据结构,其将相同类型的元素存储在连续的内存空间中。我们将元素在数组中的位置称为该元素的<u>索引index</u>。图 4-1 展示了数组的主要概念和存储方式。</p>
<p><a class="glightbox" href="../array.assets/array_definition.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="数组定义与存储方式" class="animation-figure" src="../array.assets/array_definition.png" /></a></p>
<p align="center"> 图 4-1 &nbsp; 数组定义与存储方式 </p>
@@ -5205,7 +5262,7 @@ aria-label="页脚"
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2022-2024 krahets</br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
Copyright &copy; 2022-2024 krahets<br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
</div>
+133 -76
View File
@@ -334,6 +334,63 @@
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../chapter_hello_algo/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m13.13 22.19-1.63-3.83c1.57-.58 3.04-1.36 4.4-2.27l-2.77 6.1M5.64 12.5l-3.83-1.63 6.1-2.77C7 9.46 6.22 10.93 5.64 12.5M19.22 4c.28 0 .53 0 .74.05.17 1.39-.02 4.25-3.3 7.53-1.7 1.71-3.73 3.02-6.01 3.89l-2.15-2.1c.92-2.31 2.23-4.34 3.92-6.03C15.18 4.58 17.64 4 19.22 4m0-2c-1.98 0-4.98.69-8.22 3.93-2.19 2.19-3.5 4.6-4.35 6.71-.28.75-.09 1.57.46 2.13l2.13 2.12c.38.38.89.61 1.42.61.23 0 .47-.06.7-.15A19.1 19.1 0 0 0 18.07 13c5.66-5.66 3.54-10.61 3.54-10.61S20.7 2 19.22 2m-4.68 7.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0c.77.78.78 2.05 0 2.83-.78.78-2.05.78-2.83 0m-5.66 7.07-1.41-1.41 1.41 1.41M6.24 22l3.64-3.64c-.34-.09-.67-.24-.97-.45L4.83 22h1.41M2 22h1.41l4.77-4.76-1.42-1.41L2 20.59V22m0-2.83 4.09-4.08c-.21-.3-.36-.62-.45-.97L2 17.76v1.41Z"/></svg>
<span class="md-ellipsis">
</span>
</a>
</div>
<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>
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
@@ -349,7 +406,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
@@ -367,14 +424,14 @@
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<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>
第 0 章 &nbsp; 前言
</label>
@@ -480,7 +537,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
@@ -498,14 +555,14 @@
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
第 1 章 &nbsp; 初识算法
</label>
@@ -615,7 +672,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
@@ -633,14 +690,14 @@
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<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>
第 2 章 &nbsp; 复杂度分析
</label>
@@ -792,7 +849,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
@@ -810,14 +867,14 @@
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<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>
第 3 章 &nbsp; 数据结构
</label>
@@ -971,7 +1028,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
@@ -989,14 +1046,14 @@
</a>
<label class="md-nav__link md-nav__link--active" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link md-nav__link--active" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
第 4 章 &nbsp; 数组与链表
</label>
@@ -1154,7 +1211,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
@@ -1172,14 +1229,14 @@
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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>
第 5 章 &nbsp; 栈与队列
</label>
@@ -1308,7 +1365,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
@@ -1326,14 +1383,14 @@
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<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>
第 6 章 &nbsp; 哈希表
</label>
@@ -1466,7 +1523,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
@@ -1484,14 +1541,14 @@
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<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>
第 7 章 &nbsp;
</label>
@@ -1662,7 +1719,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
@@ -1680,14 +1737,14 @@
</a>
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<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>
第 8 章 &nbsp;
</label>
@@ -1816,7 +1873,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
@@ -1834,14 +1891,14 @@
</a>
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<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>
第 9 章 &nbsp;
</label>
@@ -1974,7 +2031,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
@@ -1992,14 +2049,14 @@
</a>
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<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>
第 10 章 &nbsp; 搜索
</label>
@@ -2184,7 +2241,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
@@ -2202,14 +2259,14 @@
</a>
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<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>
第 11 章 &nbsp; 排序
</label>
@@ -2487,7 +2544,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
@@ -2505,14 +2562,14 @@
</a>
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<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>
第 12 章 &nbsp; 分治
</label>
@@ -2664,7 +2721,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
@@ -2682,14 +2739,14 @@
</a>
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<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>
第 13 章 &nbsp; 回溯
</label>
@@ -2845,7 +2902,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
@@ -2863,14 +2920,14 @@
</a>
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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>
第 14 章 &nbsp; 动态规划
</label>
@@ -3064,7 +3121,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -3082,14 +3139,14 @@
</a>
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
第 15 章 &nbsp; 贪心
</label>
@@ -3237,7 +3294,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
@@ -3255,14 +3312,14 @@
</a>
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<label class="md-nav__link " for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
第 16 章 &nbsp; 附录
</label>
@@ -3362,7 +3419,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
@@ -3381,8 +3438,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -3419,7 +3476,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
@@ -3427,7 +3484,7 @@
<a href="../chapter_paperbook/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5V2M6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5Z"/></svg>
<span class="md-ellipsis">
纸质书
@@ -3446,8 +3503,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
纸质书
</label>
@@ -3735,7 +3792,7 @@ aria-label="页脚"
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2022-2024 krahets</br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
Copyright &copy; 2022-2024 krahets<br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
</div>
@@ -334,6 +334,63 @@
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../../chapter_hello_algo/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m13.13 22.19-1.63-3.83c1.57-.58 3.04-1.36 4.4-2.27l-2.77 6.1M5.64 12.5l-3.83-1.63 6.1-2.77C7 9.46 6.22 10.93 5.64 12.5M19.22 4c.28 0 .53 0 .74.05.17 1.39-.02 4.25-3.3 7.53-1.7 1.71-3.73 3.02-6.01 3.89l-2.15-2.1c.92-2.31 2.23-4.34 3.92-6.03C15.18 4.58 17.64 4 19.22 4m0-2c-1.98 0-4.98.69-8.22 3.93-2.19 2.19-3.5 4.6-4.35 6.71-.28.75-.09 1.57.46 2.13l2.13 2.12c.38.38.89.61 1.42.61.23 0 .47-.06.7-.15A19.1 19.1 0 0 0 18.07 13c5.66-5.66 3.54-10.61 3.54-10.61S20.7 2 19.22 2m-4.68 7.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0c.77.78.78 2.05 0 2.83-.78.78-2.05.78-2.83 0m-5.66 7.07-1.41-1.41 1.41 1.41M6.24 22l3.64-3.64c-.34-.09-.67-.24-.97-.45L4.83 22h1.41M2 22h1.41l4.77-4.76-1.42-1.41L2 20.59V22m0-2.83 4.09-4.08c-.21-.3-.36-.62-.45-.97L2 17.76v1.41Z"/></svg>
<span class="md-ellipsis">
</span>
</a>
</div>
<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>
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
@@ -349,7 +406,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
@@ -367,14 +424,14 @@
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<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>
第 0 章 &nbsp; 前言
</label>
@@ -480,7 +537,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
@@ -498,14 +555,14 @@
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
第 1 章 &nbsp; 初识算法
</label>
@@ -615,7 +672,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
@@ -633,14 +690,14 @@
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<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>
第 2 章 &nbsp; 复杂度分析
</label>
@@ -792,7 +849,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
@@ -810,14 +867,14 @@
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<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>
第 3 章 &nbsp; 数据结构
</label>
@@ -971,7 +1028,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
@@ -989,14 +1046,14 @@
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
第 4 章 &nbsp; 数组与链表
</label>
@@ -1281,7 +1338,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
@@ -1299,14 +1356,14 @@
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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>
第 5 章 &nbsp; 栈与队列
</label>
@@ -1435,7 +1492,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
@@ -1453,14 +1510,14 @@
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<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>
第 6 章 &nbsp; 哈希表
</label>
@@ -1593,7 +1650,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
@@ -1611,14 +1668,14 @@
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<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>
第 7 章 &nbsp;
</label>
@@ -1789,7 +1846,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
@@ -1807,14 +1864,14 @@
</a>
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<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>
第 8 章 &nbsp;
</label>
@@ -1943,7 +2000,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
@@ -1961,14 +2018,14 @@
</a>
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<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>
第 9 章 &nbsp;
</label>
@@ -2101,7 +2158,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
@@ -2119,14 +2176,14 @@
</a>
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<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>
第 10 章 &nbsp; 搜索
</label>
@@ -2311,7 +2368,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
@@ -2329,14 +2386,14 @@
</a>
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<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>
第 11 章 &nbsp; 排序
</label>
@@ -2614,7 +2671,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
@@ -2632,14 +2689,14 @@
</a>
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<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>
第 12 章 &nbsp; 分治
</label>
@@ -2791,7 +2848,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
@@ -2809,14 +2866,14 @@
</a>
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<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>
第 13 章 &nbsp; 回溯
</label>
@@ -2972,7 +3029,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
@@ -2990,14 +3047,14 @@
</a>
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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>
第 14 章 &nbsp; 动态规划
</label>
@@ -3191,7 +3248,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -3209,14 +3266,14 @@
</a>
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
第 15 章 &nbsp; 贪心
</label>
@@ -3364,7 +3421,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
@@ -3382,14 +3439,14 @@
</a>
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<label class="md-nav__link " for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
第 16 章 &nbsp; 附录
</label>
@@ -3489,7 +3546,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
@@ -3508,8 +3565,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -3546,7 +3603,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
@@ -3554,7 +3611,7 @@
<a href="../../chapter_paperbook/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5V2M6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5Z"/></svg>
<span class="md-ellipsis">
纸质书
@@ -3573,8 +3630,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
纸质书
</label>
@@ -3740,12 +3797,12 @@
<!-- Page content -->
<h1 id="42">4.2 &nbsp; 链表<a class="headerlink" href="#42" title="Permanent link">&para;</a></h1>
<p>内存空间是所有程序的公共资源,在一个复杂的系统运行环境下,空闲的内存空间可能散落在内存各处。我们知道,存储数组的内存空间必须是连续的,而当数组非常大时,内存可能无法提供如此大的连续空间。此时链表的灵活性优势就体现出来了。</p>
<p>链表 linked list是一种线性数据结构,其中的每个元素都是一个节点对象,各个节点通过“引用”相连接。引用记录了下一个节点的内存地址,通过它可以从当前节点访问到下一个节点。</p>
<p><u>链表linked list</u>是一种线性数据结构,其中的每个元素都是一个节点对象,各个节点通过“引用”相连接。引用记录了下一个节点的内存地址,通过它可以从当前节点访问到下一个节点。</p>
<p>链表的设计使得各个节点可以分散存储在内存各处,它们的内存地址无须连续。</p>
<p><a class="glightbox" href="../linked_list.assets/linkedlist_definition.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="链表定义与存储方式" class="animation-figure" src="../linked_list.assets/linkedlist_definition.png" /></a></p>
<p align="center"> 图 4-5 &nbsp; 链表定义与存储方式 </p>
<p>观察图 4-5 ,链表的组成单位是节点 node对象。每个节点都包含两项数据:节点的“值”和指向下一节点的“引用”。</p>
<p>观察图 4-5 ,链表的组成单位是<u>节点node</u>对象。每个节点都包含两项数据:节点的“值”和指向下一节点的“引用”。</p>
<ul>
<li>链表的首个节点被称为“头节点”,最后一个节点被称为“尾节点”。</li>
<li>尾节点指向的是“空”,它在 Java、C++ 和 Python 中分别被记为 <code>null</code><code>nullptr</code><code>None</code></li>
@@ -5322,7 +5379,7 @@ aria-label="页脚"
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2022-2024 krahets</br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
Copyright &copy; 2022-2024 krahets<br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
</div>
+135 -78
View File
@@ -334,6 +334,63 @@
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../../chapter_hello_algo/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m13.13 22.19-1.63-3.83c1.57-.58 3.04-1.36 4.4-2.27l-2.77 6.1M5.64 12.5l-3.83-1.63 6.1-2.77C7 9.46 6.22 10.93 5.64 12.5M19.22 4c.28 0 .53 0 .74.05.17 1.39-.02 4.25-3.3 7.53-1.7 1.71-3.73 3.02-6.01 3.89l-2.15-2.1c.92-2.31 2.23-4.34 3.92-6.03C15.18 4.58 17.64 4 19.22 4m0-2c-1.98 0-4.98.69-8.22 3.93-2.19 2.19-3.5 4.6-4.35 6.71-.28.75-.09 1.57.46 2.13l2.13 2.12c.38.38.89.61 1.42.61.23 0 .47-.06.7-.15A19.1 19.1 0 0 0 18.07 13c5.66-5.66 3.54-10.61 3.54-10.61S20.7 2 19.22 2m-4.68 7.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0c.77.78.78 2.05 0 2.83-.78.78-2.05.78-2.83 0m-5.66 7.07-1.41-1.41 1.41 1.41M6.24 22l3.64-3.64c-.34-.09-.67-.24-.97-.45L4.83 22h1.41M2 22h1.41l4.77-4.76-1.42-1.41L2 20.59V22m0-2.83 4.09-4.08c-.21-.3-.36-.62-.45-.97L2 17.76v1.41Z"/></svg>
<span class="md-ellipsis">
</span>
</a>
</div>
<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>
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
@@ -349,7 +406,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
@@ -367,14 +424,14 @@
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<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>
第 0 章 &nbsp; 前言
</label>
@@ -480,7 +537,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
@@ -498,14 +555,14 @@
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
第 1 章 &nbsp; 初识算法
</label>
@@ -615,7 +672,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
@@ -633,14 +690,14 @@
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<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>
第 2 章 &nbsp; 复杂度分析
</label>
@@ -792,7 +849,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
@@ -810,14 +867,14 @@
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<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>
第 3 章 &nbsp; 数据结构
</label>
@@ -971,7 +1028,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
@@ -989,14 +1046,14 @@
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
第 4 章 &nbsp; 数组与链表
</label>
@@ -1272,7 +1329,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
@@ -1290,14 +1347,14 @@
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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>
第 5 章 &nbsp; 栈与队列
</label>
@@ -1426,7 +1483,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
@@ -1444,14 +1501,14 @@
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<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>
第 6 章 &nbsp; 哈希表
</label>
@@ -1584,7 +1641,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
@@ -1602,14 +1659,14 @@
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<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>
第 7 章 &nbsp;
</label>
@@ -1780,7 +1837,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
@@ -1798,14 +1855,14 @@
</a>
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<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>
第 8 章 &nbsp;
</label>
@@ -1934,7 +1991,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
@@ -1952,14 +2009,14 @@
</a>
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<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>
第 9 章 &nbsp;
</label>
@@ -2092,7 +2149,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
@@ -2110,14 +2167,14 @@
</a>
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<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>
第 10 章 &nbsp; 搜索
</label>
@@ -2302,7 +2359,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
@@ -2320,14 +2377,14 @@
</a>
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<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>
第 11 章 &nbsp; 排序
</label>
@@ -2605,7 +2662,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
@@ -2623,14 +2680,14 @@
</a>
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<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>
第 12 章 &nbsp; 分治
</label>
@@ -2782,7 +2839,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
@@ -2800,14 +2857,14 @@
</a>
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<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>
第 13 章 &nbsp; 回溯
</label>
@@ -2963,7 +3020,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
@@ -2981,14 +3038,14 @@
</a>
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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>
第 14 章 &nbsp; 动态规划
</label>
@@ -3182,7 +3239,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -3200,14 +3257,14 @@
</a>
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
第 15 章 &nbsp; 贪心
</label>
@@ -3355,7 +3412,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
@@ -3373,14 +3430,14 @@
</a>
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<label class="md-nav__link " for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
第 16 章 &nbsp; 附录
</label>
@@ -3480,7 +3537,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
@@ -3499,8 +3556,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -3537,7 +3594,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
@@ -3545,7 +3602,7 @@
<a href="../../chapter_paperbook/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5V2M6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5Z"/></svg>
<span class="md-ellipsis">
纸质书
@@ -3564,8 +3621,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
纸质书
</label>
@@ -3721,13 +3778,13 @@
<!-- Page content -->
<h1 id="43">4.3 &nbsp; 列表<a class="headerlink" href="#43" title="Permanent link">&para;</a></h1>
<p>列表 list是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。</p>
<p><u>列表list</u>是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。</p>
<ul>
<li>链表天然可以看作一个列表,其支持元素增删查改操作,并且可以灵活动态扩容。</li>
<li>数组也支持元素增删查改,但由于其长度不可变,因此只能看作一个具有长度限制的列表。</li>
</ul>
<p>当使用数组实现列表时,<strong>长度不可变的性质会导致列表的实用性降低</strong>。这是因为我们通常无法事先确定需要存储多少数据,从而难以选择合适的列表长度。若长度过小,则很可能无法满足使用需求;若长度过大,则会造成内存空间浪费。</p>
<p>为解决此问题,我们可以使用动态数组 dynamic array来实现列表。它继承了数组的各项优点,并且可以在程序运行过程中进行动态扩容。</p>
<p>为解决此问题,我们可以使用<u>动态数组dynamic array</u>来实现列表。它继承了数组的各项优点,并且可以在程序运行过程中进行动态扩容。</p>
<p>实际上,<strong>许多编程语言中的标准库提供的列表是基于动态数组实现的</strong>,例如 Python 中的 <code>list</code> 、Java 中的 <code>ArrayList</code> 、C++ 中的 <code>vector</code> 和 C# 中的 <code>List</code> 等。在接下来的讨论中,我们将把“列表”和“动态数组”视为等同的概念。</p>
<h2 id="431">4.3.1 &nbsp; 列表常用操作<a class="headerlink" href="#431" title="Permanent link">&para;</a></h2>
<h3 id="1">1. &nbsp; 初始化列表<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
@@ -6213,7 +6270,7 @@ aria-label="页脚"
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2022-2024 krahets</br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
Copyright &copy; 2022-2024 krahets<br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
</div>
@@ -334,6 +334,63 @@
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../../chapter_hello_algo/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m13.13 22.19-1.63-3.83c1.57-.58 3.04-1.36 4.4-2.27l-2.77 6.1M5.64 12.5l-3.83-1.63 6.1-2.77C7 9.46 6.22 10.93 5.64 12.5M19.22 4c.28 0 .53 0 .74.05.17 1.39-.02 4.25-3.3 7.53-1.7 1.71-3.73 3.02-6.01 3.89l-2.15-2.1c.92-2.31 2.23-4.34 3.92-6.03C15.18 4.58 17.64 4 19.22 4m0-2c-1.98 0-4.98.69-8.22 3.93-2.19 2.19-3.5 4.6-4.35 6.71-.28.75-.09 1.57.46 2.13l2.13 2.12c.38.38.89.61 1.42.61.23 0 .47-.06.7-.15A19.1 19.1 0 0 0 18.07 13c5.66-5.66 3.54-10.61 3.54-10.61S20.7 2 19.22 2m-4.68 7.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0c.77.78.78 2.05 0 2.83-.78.78-2.05.78-2.83 0m-5.66 7.07-1.41-1.41 1.41 1.41M6.24 22l3.64-3.64c-.34-.09-.67-.24-.97-.45L4.83 22h1.41M2 22h1.41l4.77-4.76-1.42-1.41L2 20.59V22m0-2.83 4.09-4.08c-.21-.3-.36-.62-.45-.97L2 17.76v1.41Z"/></svg>
<span class="md-ellipsis">
</span>
</a>
</div>
<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>
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
@@ -349,7 +406,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
@@ -367,14 +424,14 @@
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<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>
第 0 章 &nbsp; 前言
</label>
@@ -480,7 +537,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
@@ -498,14 +555,14 @@
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
第 1 章 &nbsp; 初识算法
</label>
@@ -615,7 +672,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
@@ -633,14 +690,14 @@
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<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>
第 2 章 &nbsp; 复杂度分析
</label>
@@ -792,7 +849,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
@@ -810,14 +867,14 @@
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<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>
第 3 章 &nbsp; 数据结构
</label>
@@ -971,7 +1028,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
@@ -989,14 +1046,14 @@
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
第 4 章 &nbsp; 数组与链表
</label>
@@ -1229,7 +1286,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
@@ -1247,14 +1304,14 @@
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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>
第 5 章 &nbsp; 栈与队列
</label>
@@ -1383,7 +1440,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
@@ -1401,14 +1458,14 @@
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<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>
第 6 章 &nbsp; 哈希表
</label>
@@ -1541,7 +1598,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
@@ -1559,14 +1616,14 @@
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<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>
第 7 章 &nbsp;
</label>
@@ -1737,7 +1794,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
@@ -1755,14 +1812,14 @@
</a>
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<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>
第 8 章 &nbsp;
</label>
@@ -1891,7 +1948,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
@@ -1909,14 +1966,14 @@
</a>
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<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>
第 9 章 &nbsp;
</label>
@@ -2049,7 +2106,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
@@ -2067,14 +2124,14 @@
</a>
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<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>
第 10 章 &nbsp; 搜索
</label>
@@ -2259,7 +2316,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
@@ -2277,14 +2334,14 @@
</a>
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<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>
第 11 章 &nbsp; 排序
</label>
@@ -2562,7 +2619,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
@@ -2580,14 +2637,14 @@
</a>
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<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>
第 12 章 &nbsp; 分治
</label>
@@ -2739,7 +2796,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
@@ -2757,14 +2814,14 @@
</a>
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<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>
第 13 章 &nbsp; 回溯
</label>
@@ -2920,7 +2977,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
@@ -2938,14 +2995,14 @@
</a>
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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>
第 14 章 &nbsp; 动态规划
</label>
@@ -3139,7 +3196,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -3157,14 +3214,14 @@
</a>
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
第 15 章 &nbsp; 贪心
</label>
@@ -3312,7 +3369,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
@@ -3330,14 +3387,14 @@
</a>
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<label class="md-nav__link " for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
第 16 章 &nbsp; 附录
</label>
@@ -3437,7 +3494,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
@@ -3456,8 +3513,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -3494,7 +3551,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
@@ -3502,7 +3559,7 @@
<a href="../../chapter_paperbook/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5V2M6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5Z"/></svg>
<span class="md-ellipsis">
纸质书
@@ -3521,8 +3578,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
纸质书
</label>
@@ -3630,7 +3687,7 @@
<p>在本章的前两节中,我们探讨了数组和链表这两种基础且重要的数据结构,它们分别代表了“连续存储”和“分散存储”两种物理结构。</p>
<p>实际上,<strong>物理结构在很大程度上决定了程序对内存和缓存的使用效率</strong>,进而影响算法程序的整体性能。</p>
<h2 id="441">4.4.1 &nbsp; 计算机存储设备<a class="headerlink" href="#441" title="Permanent link">&para;</a></h2>
<p>计算机中包括三种类型的存储设备:硬盘 hard disk」、「内存 random-access memory, RAM」、「缓存 cache memory。表 4-2 展示了它们在计算机系统中的不同角色和性能特点。</p>
<p>计算机中包括三种类型的存储设备:<u>硬盘hard disk</u><u>内存random-access memory, RAM</u><u>缓存cache memory</u>。表 4-2 展示了它们在计算机系统中的不同角色和性能特点。</p>
<p align="center"> 表 4-2 &nbsp; 计算机的存储设备 </p>
<div class="center-table">
@@ -3699,8 +3756,8 @@
<p>一方面,<strong>内存是有限的,且同一块内存不能被多个程序共享</strong>,因此我们希望数据结构能够尽可能高效地利用空间。数组的元素紧密排列,不需要额外的空间来存储链表节点间的引用(指针),因此空间效率更高。然而,数组需要一次性分配足够的连续内存空间,这可能导致内存浪费,数组扩容也需要额外的时间和空间成本。相比之下,链表以“节点”为单位进行动态内存分配和回收,提供了更大的灵活性。</p>
<p>另一方面,在程序运行时,<strong>随着反复申请与释放内存,空闲内存的碎片化程度会越来越高</strong>,从而导致内存的利用效率降低。数组由于其连续的存储方式,相对不容易导致内存碎片化。相反,链表的元素是分散存储的,在频繁的插入与删除操作中,更容易导致内存碎片化。</p>
<h2 id="443">4.4.3 &nbsp; 数据结构的缓存效率<a class="headerlink" href="#443" title="Permanent link">&para;</a></h2>
<p>缓存虽然在空间容量上远小于内存,但它比内存快得多,在程序执行速度上起着至关重要的作用。由于缓存的容量有限,只能存储一小部分频繁访问的数据,因此当 CPU 尝试访问的数据不在缓存中时,就会发生缓存未命中 cache miss,此时 CPU 不得不从速度较慢的内存中加载所需数据。</p>
<p>显然,<strong>“缓存未命中”越少,CPU 读写数据的效率就越高</strong>,程序性能也就越好。我们将 CPU 从缓存中成功获取数据的比例称为缓存命中率 cache hit rate,这个指标通常用来衡量缓存效率。</p>
<p>缓存虽然在空间容量上远小于内存,但它比内存快得多,在程序执行速度上起着至关重要的作用。由于缓存的容量有限,只能存储一小部分频繁访问的数据,因此当 CPU 尝试访问的数据不在缓存中时,就会发生<u>缓存未命中cache miss</u>,此时 CPU 不得不从速度较慢的内存中加载所需数据。</p>
<p>显然,<strong>“缓存未命中”越少,CPU 读写数据的效率就越高</strong>,程序性能也就越好。我们将 CPU 从缓存中成功获取数据的比例称为<u>缓存命中率cache hit rate</u>,这个指标通常用来衡量缓存效率。</p>
<p>为了尽可能达到更高的效率,缓存会采取以下数据加载机制。</p>
<ul>
<li><strong>缓存行</strong>:缓存不是单个字节地存储与加载数据,而是以缓存行为单位。相比于单个字节的传输,缓存行的传输形式更加高效。</li>
@@ -3908,7 +3965,7 @@ aria-label="页脚"
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2022-2024 krahets</br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
Copyright &copy; 2022-2024 krahets<br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
</div>
+133 -76
View File
@@ -334,6 +334,63 @@
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../../chapter_hello_algo/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m13.13 22.19-1.63-3.83c1.57-.58 3.04-1.36 4.4-2.27l-2.77 6.1M5.64 12.5l-3.83-1.63 6.1-2.77C7 9.46 6.22 10.93 5.64 12.5M19.22 4c.28 0 .53 0 .74.05.17 1.39-.02 4.25-3.3 7.53-1.7 1.71-3.73 3.02-6.01 3.89l-2.15-2.1c.92-2.31 2.23-4.34 3.92-6.03C15.18 4.58 17.64 4 19.22 4m0-2c-1.98 0-4.98.69-8.22 3.93-2.19 2.19-3.5 4.6-4.35 6.71-.28.75-.09 1.57.46 2.13l2.13 2.12c.38.38.89.61 1.42.61.23 0 .47-.06.7-.15A19.1 19.1 0 0 0 18.07 13c5.66-5.66 3.54-10.61 3.54-10.61S20.7 2 19.22 2m-4.68 7.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0c.77.78.78 2.05 0 2.83-.78.78-2.05.78-2.83 0m-5.66 7.07-1.41-1.41 1.41 1.41M6.24 22l3.64-3.64c-.34-.09-.67-.24-.97-.45L4.83 22h1.41M2 22h1.41l4.77-4.76-1.42-1.41L2 20.59V22m0-2.83 4.09-4.08c-.21-.3-.36-.62-.45-.97L2 17.76v1.41Z"/></svg>
<span class="md-ellipsis">
</span>
</a>
</div>
<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>
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
@@ -349,7 +406,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
@@ -367,14 +424,14 @@
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<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>
第 0 章 &nbsp; 前言
</label>
@@ -480,7 +537,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
@@ -498,14 +555,14 @@
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
第 1 章 &nbsp; 初识算法
</label>
@@ -615,7 +672,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
@@ -633,14 +690,14 @@
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<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>
第 2 章 &nbsp; 复杂度分析
</label>
@@ -792,7 +849,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
@@ -810,14 +867,14 @@
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<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>
第 3 章 &nbsp; 数据结构
</label>
@@ -971,7 +1028,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
@@ -989,14 +1046,14 @@
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
第 4 章 &nbsp; 数组与链表
</label>
@@ -1212,7 +1269,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
@@ -1230,14 +1287,14 @@
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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>
第 5 章 &nbsp; 栈与队列
</label>
@@ -1366,7 +1423,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
@@ -1384,14 +1441,14 @@
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<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>
第 6 章 &nbsp; 哈希表
</label>
@@ -1524,7 +1581,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
@@ -1542,14 +1599,14 @@
</a>
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<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>
第 7 章 &nbsp;
</label>
@@ -1720,7 +1777,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
@@ -1738,14 +1795,14 @@
</a>
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<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>
第 8 章 &nbsp;
</label>
@@ -1874,7 +1931,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
@@ -1892,14 +1949,14 @@
</a>
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<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>
第 9 章 &nbsp;
</label>
@@ -2032,7 +2089,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
@@ -2050,14 +2107,14 @@
</a>
<label class="md-nav__link " for="__nav_11" id="__nav_11_label" tabindex="0">
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<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>
第 10 章 &nbsp; 搜索
</label>
@@ -2242,7 +2299,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
@@ -2260,14 +2317,14 @@
</a>
<label class="md-nav__link " for="__nav_12" id="__nav_12_label" tabindex="0">
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<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>
第 11 章 &nbsp; 排序
</label>
@@ -2545,7 +2602,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
@@ -2563,14 +2620,14 @@
</a>
<label class="md-nav__link " for="__nav_13" id="__nav_13_label" tabindex="0">
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<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>
第 12 章 &nbsp; 分治
</label>
@@ -2722,7 +2779,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
@@ -2740,14 +2797,14 @@
</a>
<label class="md-nav__link " for="__nav_14" id="__nav_14_label" tabindex="0">
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<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>
第 13 章 &nbsp; 回溯
</label>
@@ -2903,7 +2960,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
@@ -2921,14 +2978,14 @@
</a>
<label class="md-nav__link " for="__nav_15" id="__nav_15_label" tabindex="0">
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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>
第 14 章 &nbsp; 动态规划
</label>
@@ -3122,7 +3179,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -3140,14 +3197,14 @@
</a>
<label class="md-nav__link " for="__nav_16" id="__nav_16_label" tabindex="0">
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</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_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
第 15 章 &nbsp; 贪心
</label>
@@ -3295,7 +3352,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
@@ -3313,14 +3370,14 @@
</a>
<label class="md-nav__link " for="__nav_17" id="__nav_17_label" tabindex="0">
<label class="md-nav__link " for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
第 16 章 &nbsp; 附录
</label>
@@ -3420,7 +3477,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
@@ -3439,8 +3496,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -3477,7 +3534,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
@@ -3485,7 +3542,7 @@
<a href="../../chapter_paperbook/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5V2M6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5Z"/></svg>
<span class="md-ellipsis">
纸质书
@@ -3504,8 +3561,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
纸质书
</label>
@@ -3839,7 +3896,7 @@ aria-label="页脚"
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2022-2024 krahets</br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
Copyright &copy; 2022-2024 krahets<br>The website content is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>
</div>