mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-23 18:11:45 +08:00
deploy
This commit is contained in:
@@ -3441,14 +3441,14 @@
|
||||
<p>您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。</p>
|
||||
</div>
|
||||
<h2 id="012">0.1.2 内容结构<a class="headerlink" href="#012" title="Permanent link">¶</a></h2>
|
||||
<p>本书主要内容如下图所示。</p>
|
||||
<p>本书主要内容如图 0-1 所示。</p>
|
||||
<ul>
|
||||
<li><strong>复杂度分析</strong>:数据结构和算法的评价维度与方法。时间复杂度、空间复杂度的推算方法、常见类型、示例等。</li>
|
||||
<li><strong>数据结构</strong>:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。</li>
|
||||
<li><strong>算法</strong>:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、示例题目等。</li>
|
||||
</ul>
|
||||
<p><img alt="Hello 算法内容结构" src="../about_the_book.assets/hello_algo_mindmap.png" /></p>
|
||||
<p align="center"> 图:Hello 算法内容结构 </p>
|
||||
<p align="center"> 图 0-1 Hello 算法内容结构 </p>
|
||||
|
||||
<h2 id="013">0.1.3 致谢<a class="headerlink" href="#013" title="Permanent link">¶</a></h2>
|
||||
<p>在本书的创作过程中,我得到了许多人的帮助,包括但不限于:</p>
|
||||
|
||||
@@ -3596,35 +3596,35 @@
|
||||
</div>
|
||||
<h2 id="022">0.2.2 在动画图解中高效学习<a class="headerlink" href="#022" title="Permanent link">¶</a></h2>
|
||||
<p>相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,<strong>重点和难点知识将主要通过动画和图解形式展示</strong>,而文字则作为动画和图片的解释与补充。</p>
|
||||
<p>如果你在阅读本书时,发现某段内容提供了下图所示的动画或图解,<strong>请以图为主、以文字为辅</strong>,综合两者来理解内容。</p>
|
||||
<p>如果你在阅读本书时,发现某段内容提供了图 0-2 所示的动画或图解,<strong>请以图为主、以文字为辅</strong>,综合两者来理解内容。</p>
|
||||
<p><img alt="动画图解示例" src="../../index.assets/animation.gif" /></p>
|
||||
<p align="center"> 图:动画图解示例 </p>
|
||||
<p align="center"> 图 0-2 动画图解示例 </p>
|
||||
|
||||
<h2 id="023">0.2.3 在代码实践中加深理解<a class="headerlink" href="#023" title="Permanent link">¶</a></h2>
|
||||
<p>本书的配套代码被托管在 <a href="https://github.com/krahets/hello-algo">GitHub 仓库</a>。如下图所示,<strong>源代码附有测试样例,可一键运行</strong>。</p>
|
||||
<p>本书的配套代码被托管在 <a href="https://github.com/krahets/hello-algo">GitHub 仓库</a>。如图 0-3 所示,<strong>源代码附有测试样例,可一键运行</strong>。</p>
|
||||
<p>如果时间允许,<strong>建议你参照代码自行敲一遍</strong>。如果学习时间有限,请至少通读并运行所有代码。</p>
|
||||
<p>与阅读代码相比,编写代码的过程往往能带来更多收获。<strong>动手学,才是真的学</strong>。</p>
|
||||
<p><img alt="运行代码示例" src="../../index.assets/running_code.gif" /></p>
|
||||
<p align="center"> 图:运行代码示例 </p>
|
||||
<p align="center"> 图 0-3 运行代码示例 </p>
|
||||
|
||||
<p>运行代码的前置工作主要分为三步。</p>
|
||||
<p><strong>第一步:安装本地编程环境</strong>。请参照<a href="https://www.hello-algo.com/chapter_appendix/installation/">附录教程</a>进行安装,如果已安装则可跳过此步骤。</p>
|
||||
<p><strong>第二步:下载代码仓</strong>。如果已经安装 <a href="https://git-scm.com/downloads">Git</a> ,可以通过以下命令克隆本仓库。</p>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/krahets/hello-algo.git
|
||||
</code></pre></div>
|
||||
<p>当然,你也可以点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。</p>
|
||||
<p>当然,你也可以在图 0-4 所示的位置,点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。</p>
|
||||
<p><img alt="克隆仓库与下载代码" src="../suggestions.assets/download_code.png" /></p>
|
||||
<p align="center"> 图:克隆仓库与下载代码 </p>
|
||||
<p align="center"> 图 0-4 克隆仓库与下载代码 </p>
|
||||
|
||||
<p><strong>第三步:运行源代码</strong>。如果代码块顶部标有文件名称,则可以在仓库的 <code>codes</code> 文件夹中找到相应的源代码文件。源代码文件将帮助你节省不必要的调试时间,让你能够专注于学习内容。</p>
|
||||
<p><strong>第三步:运行源代码</strong>。如图 0-5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 <code>codes</code> 文件夹内找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内容。</p>
|
||||
<p><img alt="代码块与对应的源代码文件" src="../suggestions.assets/code_md_to_repo.png" /></p>
|
||||
<p align="center"> 图:代码块与对应的源代码文件 </p>
|
||||
<p align="center"> 图 0-5 代码块与对应的源代码文件 </p>
|
||||
|
||||
<h2 id="024">0.2.4 在提问讨论中共同成长<a class="headerlink" href="#024" title="Permanent link">¶</a></h2>
|
||||
<p>在阅读本书时,请不要轻易跳过那些没学明白的知识点。<strong>欢迎在评论区提出你的问题</strong>,我和小伙伴们将竭诚为你解答,一般情况下可在两天内回复。</p>
|
||||
<p>同时,也希望你能在评论区多花些时间。一方面,你可以了解大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分享您的见解,帮助他人进步。</p>
|
||||
<p>如图 0-6 所示,每篇文章的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分享您的见解,帮助他人进步。</p>
|
||||
<p><img alt="评论区示例" src="../../index.assets/comment.gif" /></p>
|
||||
<p align="center"> 图:评论区示例 </p>
|
||||
<p align="center"> 图 0-6 评论区示例 </p>
|
||||
|
||||
<h2 id="025">0.2.5 算法学习路线<a class="headerlink" href="#025" title="Permanent link">¶</a></h2>
|
||||
<p>从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段:</p>
|
||||
@@ -3633,9 +3633,9 @@
|
||||
<li><strong>刷算法题</strong>。建议从热门题目开刷,如<a href="https://leetcode.cn/problem-list/xb9nqhhg/">剑指 Offer</a>和<a href="https://leetcode.cn/problem-list/2cktkvj/">LeetCode Hot 100</a>,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3-5 轮的重复后,就能将其牢记在心。</li>
|
||||
<li><strong>搭建知识体系</strong>。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心得可以在各个社区找到。</li>
|
||||
</ol>
|
||||
<p>如下图所示,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。</p>
|
||||
<p>如图 0-7 所示,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。</p>
|
||||
<p><img alt="算法学习路线" src="../suggestions.assets/learning_route.png" /></p>
|
||||
<p align="center"> 图:算法学习路线 </p>
|
||||
<p align="center"> 图 0-7 算法学习路线 </p>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user