笔记说明 & 简要导入¶
笔记结构¶
关于 DSA 模块的学习笔记主要分为基础理论与扩展理论/应用两个部分(其实绝大多数理论学习模块都遵循这个结构),基础理论部分主要来自对Hello 算法的学习记录,而扩展理论与应用则来自其他网络课程或资源的学习与日常积累。
笔记结构上,前者会使用专门的路径结构进行分类记录(数据结构、算法、复杂度分析),后者则直接记录在“数据结构与算法”的根目录下。这样布局的目的是为了方便基础内容的回顾与查阅。
DSA 学习要点¶
基础入门¶
根据Hello 算法的介绍,DSA 基础部分的内容可大致分为三个部分:
-
复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示例等。
-
数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。
-
算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤和示例问题等。
在参考Hello 算法完成基础部分的学习后,即可全面进入刷题巩固阶段与扩展学习阶段,也可尝试创建一些相关的小型项目来提升自己解决实际业务问题的能力。
数据结构与算法的关系¶
简单来说,数据结构提供了储存数据以及操作数据的结构化、标准化方法,是实现算法的基础;算法是解决问题的特定途径,包含一系列指令,从而将输入(的数据结构)转化为输出(的数据结构)。