使用
01 如何调试算法代码
运行代码的前置工作主要分为三步。
第一步: 安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。
第二步: 克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库:
git
git clone https://github.com/krahets/hello-algo.git
第三步: 运行源代码。如下图所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内容。
除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如下图所示,你可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以获得更好的阅览体验。
02 如何学习算法
从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。
阶段一:算法入门。 我们需要熟悉各种数据结构的特点和用法,学习不同算法的原理、流程、用途和效率等方面的内容。
阶段二:刷算法题。 建议从热门题目开刷,先积累至少 100 道题目,熟悉主流的算法问题。初次刷题时,“知识遗忘”可能是一个挑战,但请放心,这是很正常的。我们可以按照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3~5 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。
阶段三:搭建知识体系。 在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心得可以在各个社区找到。
如下图所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。