前言
学习算法和数据结构对于大部分人来说是艰难的,包括我也是。在经过磕磕碰碰的学习过程后,这是我对学习算法和数据结构的总结。
概述
很多复杂的算法和数据结构,其实是对简单的算法和数据结构的综合应用。当你发现始终对某些算法和数据结构感到困惑时,不妨回顾下是否对简单的算法和数据结构已经理解通透。比如:树 (Tree) 的层序遍历算法 需要先熟悉 广度优先搜索算法 (BFS);而 广度优先搜索算法 需要先熟悉 队列 (Queue)。这可能也是我们很多时候直接去学复杂的算法和数据结构会觉得艰难的原因。
总的来说,在学习算法和数据结构时,我们应该从基础开始,然后再学复杂的算法和数据结构。
内容包括
内容可能包括如下部分:
- 基本概念、复杂度分析;
- 代码 (实现基于
TypeScript
); - 复杂的算法和数据结构,标记出涉及的简单的算法和数据结构;
- 值得一试的
leetcode
练习题;