1-1安排三部曲
- 理论:数据结构与算法的特点、应用场景等等。
- 刷题:做一些算法题,推荐使用LeetCode。
- 实战:在工作中与数据结构/算法打交道。
理论
重点关注:
- 数据结构与算法的特点
- 应用场景
- JS实现
- 时间、空间复杂度
刷题
- 刷题网站:推荐使用LeetCode
- 刷题顺序:推荐按照类型刷题,相当于集中训练
- 重点关注:通用套路、时间/空间复杂度分析和优化
实战
- 前端与数据结构/算法的结合点。
- 在工作中与数据结构/算法打交道。
前置知识
- JavaScript 基础。
1-2数据结构与算法简介
数据结构与算法是什么?
- 数据结构:计算机存储、组织数据的方式,就像锅碗瓢盆。
- 算法:一系列解决问题的清晰指令,就像食谱。
数据结构与算法的关系?
- 程序 = 数据结构 + 算法
- 数据结构为算法提供服务,算法围绕数据结构操作。
将要学习的数据结构
- 栈、队列、链表 (有序、连成一串)
- 集合、字典 (无需)
- 树、堆、图 (有一定的连接关系)
将要学习的算法
- 链表:遍历链表、删除链表节点。
- 树、图:深度/广度优先遍历。
- 数组:冒泡/选择/插入/归并/快速排序、顺序/二分搜索。
1-3 LeetCode 是什么?
- LeetCode 是一个专注于程序员技术成长和企业技术人才服务的品牌。
- 功能:题库、社区、竞赛、模拟面试等等。
如何在图库搜题?
- 通过题号
- 通过难度、状态、列表、标签搜索
- 通过企业搜索(需要付费)
如何做题
- 查看题目描述、评论、题解、提交记录。
- 设置语言、编辑器选项。
- 执行代码、提交代码。