This commit is contained in:
krahets
2023-07-16 04:19:01 +08:00
parent 54b99d13c8
commit dbf682ebc9
110 changed files with 25308 additions and 10305 deletions

View File

@@ -25,7 +25,7 @@
<title>14.1.   编程环境安装 - Hello 算法</title>
<title>15.1.   编程环境安装 - Hello 算法</title>
@@ -79,7 +79,7 @@
<div data-md-component="skip">
<a href="#141" class="md-skip">
<a href="#151" class="md-skip">
跳转至
</a>
@@ -113,7 +113,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
</span>
</div>
@@ -1771,18 +1771,12 @@
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_backtracking/">12. &nbsp; &nbsp; 回溯</a>
<a href="../../chapter_divide_and_conquer/">12. &nbsp; &nbsp; 分治</a>
<label for="__nav_13">
<span class="md-nav__icon md-icon"></span>
@@ -1793,7 +1787,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
12. &nbsp; &nbsp; 回溯
12. &nbsp; &nbsp; 分治
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1805,8 +1799,8 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
12.1. &nbsp; 回溯算法
<a href="../../chapter_divide_and_conquer/divide_and_conquer/" class="md-nav__link">
12.1. &nbsp; 分治算法New
</a>
</li>
@@ -1819,50 +1813,8 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
12.2. &nbsp; 全排列问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/subset_sum_problem/" class="md-nav__link">
12.3. &nbsp; 子集和问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
12.4. &nbsp; N 皇后问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/summary/" class="md-nav__link">
12.5. &nbsp; 小结
<a href="../../chapter_divide_and_conquer/build_binary_tree/" class="md-nav__link">
12.2. &nbsp; 构建树问题New
</a>
</li>
@@ -1905,17 +1857,13 @@
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_dynamic_programming/">13. &nbsp; &nbsp; 动态规划</a>
<a href="../../chapter_backtracking/">13. &nbsp; &nbsp; 回溯</a>
<label for="__nav_14">
<span class="md-nav__icon md-icon"></span>
@@ -1926,7 +1874,140 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
13. &nbsp; &nbsp; 动态规划
13. &nbsp; &nbsp; 回溯
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
13.1. &nbsp; 回溯算法
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
13.2. &nbsp; 全排列问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/subset_sum_problem/" class="md-nav__link">
13.3. &nbsp; 子集和问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
13.4. &nbsp; N 皇后问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/summary/" class="md-nav__link">
13.5. &nbsp; 小结
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_dynamic_programming/">14. &nbsp; &nbsp; 动态规划</a>
<label for="__nav_15">
<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">
<span class="md-nav__icon md-icon"></span>
14. &nbsp; &nbsp; 动态规划
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1939,7 +2020,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/intro_to_dynamic_programming/" class="md-nav__link">
13.1. &nbsp; 初探动态规划New
14.1. &nbsp; 初探动态规划New
</a>
</li>
@@ -1953,7 +2034,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/dp_problem_features/" class="md-nav__link">
13.2. &nbsp; DP 问题特性New
14.2. &nbsp; DP 问题特性New
</a>
</li>
@@ -1967,7 +2048,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/dp_solution_pipeline/" class="md-nav__link">
13.3. &nbsp; DP 解题思路New
14.3. &nbsp; DP 解题思路New
</a>
</li>
@@ -1981,7 +2062,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/knapsack_problem/" class="md-nav__link">
13.4. &nbsp; 0-1 背包问题New
14.4. &nbsp; 0-1 背包问题New
</a>
</li>
@@ -1995,7 +2076,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/unbounded_knapsack_problem/" class="md-nav__link">
13.5. &nbsp; 完全背包问题New
14.5. &nbsp; 完全背包问题New
</a>
</li>
@@ -2009,7 +2090,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/edit_distance_problem/" class="md-nav__link">
13.6. &nbsp; 编辑距离问题New
14.6. &nbsp; 编辑距离问题New
</a>
</li>
@@ -2023,7 +2104,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/summary/" class="md-nav__link">
13.7. &nbsp; 小结New
14.7. &nbsp; 小结New
</a>
</li>
@@ -2051,7 +2132,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" checked>
@@ -2061,15 +2142,15 @@
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
14. &nbsp; &nbsp; 附录
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
15. &nbsp; &nbsp; 附录
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_15">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
14. &nbsp; &nbsp; 附录
15. &nbsp; &nbsp; 附录
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -2089,12 +2170,12 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
</a>
@@ -2113,64 +2194,64 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1411-vscode" class="md-nav__link">
14.1.1. &nbsp; VSCode
<a href="#1511-vscode" class="md-nav__link">
15.1.1. &nbsp; VSCode
</a>
</li>
<li class="md-nav__item">
<a href="#1412-java" class="md-nav__link">
14.1.2. &nbsp; Java 环境
<a href="#1512-java" class="md-nav__link">
15.1.2. &nbsp; Java 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1413-cc" class="md-nav__link">
14.1.3. &nbsp; C/C++ 环境
<a href="#1513-cc" class="md-nav__link">
15.1.3. &nbsp; C/C++ 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1414-python" class="md-nav__link">
14.1.4. &nbsp; Python 环境
<a href="#1514-python" class="md-nav__link">
15.1.4. &nbsp; Python 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1415-go" class="md-nav__link">
14.1.5. &nbsp; Go 环境
<a href="#1515-go" class="md-nav__link">
15.1.5. &nbsp; Go 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1416-javascript" class="md-nav__link">
14.1.6. &nbsp; JavaScript 环境
<a href="#1516-javascript" class="md-nav__link">
15.1.6. &nbsp; JavaScript 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1417-c" class="md-nav__link">
14.1.7. &nbsp; C# 环境
<a href="#1517-c" class="md-nav__link">
15.1.7. &nbsp; C# 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1418-swift" class="md-nav__link">
14.1.8. &nbsp; Swift 环境
<a href="#1518-swift" class="md-nav__link">
15.1.8. &nbsp; Swift 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1419-rust" class="md-nav__link">
14.1.9. &nbsp; Rust 环境
<a href="#1519-rust" class="md-nav__link">
15.1.9. &nbsp; Rust 环境
</a>
</li>
@@ -2191,7 +2272,7 @@
<li class="md-nav__item">
<a href="../contribution/" class="md-nav__link">
14.2. &nbsp; 一起参与创作
15.2. &nbsp; 一起参与创作
</a>
</li>
@@ -2217,7 +2298,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" >
@@ -2234,8 +2315,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_16">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -2276,64 +2357,64 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1411-vscode" class="md-nav__link">
14.1.1. &nbsp; VSCode
<a href="#1511-vscode" class="md-nav__link">
15.1.1. &nbsp; VSCode
</a>
</li>
<li class="md-nav__item">
<a href="#1412-java" class="md-nav__link">
14.1.2. &nbsp; Java 环境
<a href="#1512-java" class="md-nav__link">
15.1.2. &nbsp; Java 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1413-cc" class="md-nav__link">
14.1.3. &nbsp; C/C++ 环境
<a href="#1513-cc" class="md-nav__link">
15.1.3. &nbsp; C/C++ 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1414-python" class="md-nav__link">
14.1.4. &nbsp; Python 环境
<a href="#1514-python" class="md-nav__link">
15.1.4. &nbsp; Python 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1415-go" class="md-nav__link">
14.1.5. &nbsp; Go 环境
<a href="#1515-go" class="md-nav__link">
15.1.5. &nbsp; Go 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1416-javascript" class="md-nav__link">
14.1.6. &nbsp; JavaScript 环境
<a href="#1516-javascript" class="md-nav__link">
15.1.6. &nbsp; JavaScript 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1417-c" class="md-nav__link">
14.1.7. &nbsp; C# 环境
<a href="#1517-c" class="md-nav__link">
15.1.7. &nbsp; C# 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1418-swift" class="md-nav__link">
14.1.8. &nbsp; Swift 环境
<a href="#1518-swift" class="md-nav__link">
15.1.8. &nbsp; Swift 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1419-rust" class="md-nav__link">
14.1.9. &nbsp; Rust 环境
<a href="#1519-rust" class="md-nav__link">
15.1.9. &nbsp; Rust 环境
</a>
</li>
@@ -2361,49 +2442,49 @@
<h1 id="141">14.1. &nbsp; 编程环境安装<a class="headerlink" href="#141" title="Permanent link">&para;</a></h1>
<h2 id="1411-vscode">14.1.1. &nbsp; VSCode<a class="headerlink" href="#1411-vscode" title="Permanent link">&para;</a></h2>
<h1 id="151">15.1. &nbsp; 编程环境安装<a class="headerlink" href="#151" title="Permanent link">&para;</a></h1>
<h2 id="1511-vscode">15.1.1. &nbsp; VSCode<a class="headerlink" href="#1511-vscode" title="Permanent link">&para;</a></h2>
<p>本书推荐使用开源轻量的 VSCode 作为本地 IDE ,下载并安装 <a href="https://code.visualstudio.com/">VSCode</a></p>
<h2 id="1412-java">14.1.2. &nbsp; Java 环境<a class="headerlink" href="#1412-java" title="Permanent link">&para;</a></h2>
<h2 id="1512-java">15.1.2. &nbsp; Java 环境<a class="headerlink" href="#1512-java" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://jdk.java.net/18/">OpenJDK</a>(版本需满足 &gt; JDK 9</li>
<li>在 VSCode 的插件市场中搜索 <code>java</code> ,安装 Extension Pack for Java 。</li>
</ol>
<h2 id="1413-cc">14.1.3. &nbsp; C/C++ 环境<a class="headerlink" href="#1413-cc" title="Permanent link">&para;</a></h2>
<h2 id="1513-cc">15.1.3. &nbsp; C/C++ 环境<a class="headerlink" href="#1513-cc" title="Permanent link">&para;</a></h2>
<ol>
<li>Windows 系统需要安装 <a href="https://sourceforge.net/projects/mingw-w64/files/">MinGW</a><a href="https://blog.csdn.net/qq_33698226/article/details/129031241">配置教程</a>MacOS 自带 Clang 无需安装。</li>
<li>在 VSCode 的插件市场中搜索 <code>c++</code> ,安装 C/C++ Extension Pack 。</li>
<li>(可选)打开 Settings 页面,搜索 <code>Clang_format_fallback Style</code> 代码格式化选项,设置为 <code>{ BasedOnStyle: Microsoft, BreakBeforeBraces: Attach }</code></li>
</ol>
<h2 id="1414-python">14.1.4. &nbsp; Python 环境<a class="headerlink" href="#1414-python" title="Permanent link">&para;</a></h2>
<h2 id="1514-python">15.1.4. &nbsp; Python 环境<a class="headerlink" href="#1514-python" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://docs.conda.io/en/latest/miniconda.html">Miniconda3</a></li>
<li>在 VSCode 的插件市场中搜索 <code>python</code> ,安装 Python Extension Pack 。</li>
<li>(可选)在命令行输入 <code>pip install black</code> ,安装代码格式化工具。</li>
</ol>
<h2 id="1415-go">14.1.5. &nbsp; Go 环境<a class="headerlink" href="#1415-go" title="Permanent link">&para;</a></h2>
<h2 id="1515-go">15.1.5. &nbsp; Go 环境<a class="headerlink" href="#1515-go" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://go.dev/dl/">go</a></li>
<li>在 VSCode 的插件市场中搜索 <code>go</code> ,安装 Go 。</li>
<li>快捷键 <code>Ctrl + Shift + P</code> 呼出命令栏,输入 go ,选择 <code>Go: Install/Update Tools</code> ,全部勾选并安装即可。</li>
</ol>
<h2 id="1416-javascript">14.1.6. &nbsp; JavaScript 环境<a class="headerlink" href="#1416-javascript" title="Permanent link">&para;</a></h2>
<h2 id="1516-javascript">15.1.6. &nbsp; JavaScript 环境<a class="headerlink" href="#1516-javascript" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://nodejs.org/en/">node.js</a></li>
<li>在 VSCode 的插件市场中搜索 <code>javascript</code> ,安装 JavaScript (ES6) code snippets 。</li>
<li>(可选)在 VSCode 的插件市场中搜索 <code>Prettier</code> ,安装代码格式化工具。</li>
</ol>
<h2 id="1417-c">14.1.7. &nbsp; C# 环境<a class="headerlink" href="#1417-c" title="Permanent link">&para;</a></h2>
<h2 id="1517-c">15.1.7. &nbsp; C# 环境<a class="headerlink" href="#1517-c" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://dotnet.microsoft.com/en-us/download">.Net 6.0</a> </li>
<li>在 VSCode 的插件市场中搜索 <code>c#</code> ,安装 c# 。</li>
</ol>
<h2 id="1418-swift">14.1.8. &nbsp; Swift 环境<a class="headerlink" href="#1418-swift" title="Permanent link">&para;</a></h2>
<h2 id="1518-swift">15.1.8. &nbsp; Swift 环境<a class="headerlink" href="#1518-swift" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://www.swift.org/download/">Swift</a></li>
<li>在 VSCode 的插件市场中搜索 <code>swift</code> ,安装 <a href="https://marketplace.visualstudio.com/items?itemName=sswg.swift-lang">Swift for Visual Studio Code</a></li>
</ol>
<h2 id="1419-rust">14.1.9. &nbsp; Rust 环境<a class="headerlink" href="#1419-rust" title="Permanent link">&para;</a></h2>
<h2 id="1519-rust">15.1.9. &nbsp; Rust 环境<a class="headerlink" href="#1519-rust" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://www.rust-lang.org/tools/install">Rust</a></li>
<li>在 VSCode 的插件市场中搜索 <code>rust</code> ,安装 <a href="https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer">rust-analyzer</a></li>
@@ -2485,7 +2566,7 @@
<nav class="md-footer__inner md-grid" aria-label="页脚" >
<a href="../../chapter_dynamic_programming/summary/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 13.7. &amp;nbsp; 小结New" rel="prev">
<a href="../../chapter_dynamic_programming/summary/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 14.7. &amp;nbsp; 小结New" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</div>
@@ -2494,20 +2575,20 @@
上一页
</span>
<div class="md-ellipsis">
13.7. &nbsp; 小结New
14.7. &nbsp; 小结New
</div>
</div>
</a>
<a href="../contribution/" class="md-footer__link md-footer__link--next" aria-label="下一页: 14.2. &amp;nbsp; 一起参与创作" rel="next">
<a href="../contribution/" class="md-footer__link md-footer__link--next" aria-label="下一页: 15.2. &amp;nbsp; 一起参与创作" rel="next">
<div class="md-footer__title">
<span class="md-footer__direction">
下一页
</span>
<div class="md-ellipsis">
14.2. &nbsp; 一起参与创作
15.2. &nbsp; 一起参与创作
</div>
</div>
<div class="md-footer__button md-icon">