记录一个小前端的正规化重学算法成长史 🏄
第一阶段
- 梳理全部知识点概念
(13/13)
- 基础点实践
(12/12)
第二阶段
- 数据结构定向刷题
第三阶段
- 算法设计及技巧定向刷题
知识梳理
- 算法复杂度
Docs & Example
- 栈
Docs & Example
- 队列和双端队列
Docs & Example
- 链表
Docs & Example
- 集合
Docs & Example
- 字典
Docs & Example
- 散列表
Docs & Example
- 递归
Docs & Example
- 树
Docs & Example
- 二查堆和堆排序
Docs & Example
- 图
Docs & Example
- 排序和搜索算法
Sorting Docs & Example
Search Docs & Example
- 算法设计与技巧
Docs & Example
数据结构定向刷题
栈
队列和双端队列
leetcode#933.最近的请求次数
leetcode#225.用队列实现栈
leetcode#346.数据流中的移动平均值
leetcode#387.字符串中的第一个唯一字符
leetcode#1700.无法吃午餐的学生数量
leetcode#622.设计循环队列
leetcode#286.墙与门
leetcode#200.岛屿数量
leetcode#752.打开转盘锁
leetcode#279.完全平方数
链表
leetcode#237.删除链表中的节点
leetcode#206.反转链表
leetcode#160.相交链表
leetcode#234.回文链表
leetcode#203.移除链表元素
leetcode#83.删除排序链表中的重复元素
leetcode#622.设计循环队列
集合
字典
散列表/哈希表
递归
树
leetcode#111.二叉树的最小深度
leetcode#100.相同的树
leetcode#94.二叉树的中序遍历
leetcode#104.二叉树的最大深度
leetcode#102.二叉树的层序遍历
堆
图
排序算法
冒泡排序
-leetcode#912.排序数组
选择排序
-leetcode#88.合并两个有序数组
归并排序
-leetcode#148.排序链表
归并排序
-leetcode#912.排序数组
搜索/查找算法
分而治之
动态规划
贪心算法
回溯算法
双指针