📚 课程介绍
本课程深入浅出地讲解了JavaScript中的数据结构与算法,通过大量实战案例帮助学员掌握常见算法,提升前端算法面试能力。
📋 学习前提
1. JavaScript基础(掌握基本的JavaScript语法和数据类型) 2. HTML/CSS基础(了解网页结构和样式)
📖 课程目录
第1章 数据结构与算法简介
1-1 课程介绍
1-2 数据结构与算法简介
1-3 如何刷LeetCode?
第2章 时间空间复杂度计算
2-1 时间复杂度计算
2-2 空间复杂度计算
第3章 数据结构之“栈”
3-1 栈简介
3-2 什么场景下用栈
3-3 LeetCode:20.有效的括号
3-4 前端与栈:JS中的函数调用堆栈
3-5 栈-章节总结
第4章 数据结构之“队列”
4-1 队列简介
4-2 什么场景用队列
4-3 LeetCode:933.最近的请求次数
4-4 前端与队列:JS异步中的任务队列
4-5 队列-章节总结
第5章 数据结构之“链表”
5-1 链表简介
5-2 LeetCode:237.删除链表中的节点
5-3 LeetCode:206.反转链表
5-4 LeetCode:2.两数相加
5-5 LeetCode:83.删除排序链表中的重复元素
5-6 LeetCode:141.环形链表
5-7 前端与链表:JS中的原型链
5-8 前端与链表:使用链表指针获取JSON的节点值
5-9 链表-章节总结
第6章 数据结构之“集合”
6-1 集合简介
6-2 LeetCode:349.两个数组的交集
6-3 前端与集合:使用ES6中Set
6-4 集合章节总结
第7章 数据结构之“字典”
7-1 字典简介
7-2 LeetCode:349.两个数组的交集
7-3 LeetCode:20.有效的括号
7-4 LeetCode:1.两数之和
7-5 LeetCode:3.无重复字符的最长子串
7-6 LeetCode:76.最小覆盖子串
7-7 字典-章节总结
第8章 数据结构之“树”
8-1 树简介
8-2 深度与广度优先遍历
8-3 二叉树的先中后序遍历
8-4 二叉树的先中后序遍历(非递归版)
8-5 LeetCode:104.二叉树的最大深度
8-6 LeetCode:111.二叉树的最小深度
8-7 LeetCode:102.二叉树的层序遍历
8-8 LeetCode:94.二叉树的中序遍历
8-9 LeetCode:112.路径总和
8-10 前端与树:遍历JSON的所有节点值
8-11 前端与树:渲染Antd中的树组件
8-12 树-章节总结
第9章 数据结构之“图”
9-1 图简介
9-2 图的深度广度优先遍历
9-3 LeetCode:65.有效数字
9-4 LeetCode:417.太平洋大西洋水流问题
9-5 LeetCode:133.克隆图
9-6 图-章节总结
第10章 数据结构之“堆”
10-1 堆简介
10-2 JavaScript实现:最小堆类
10-3 LeetCode:215.数组中的第K个最大元素
10-4 LeetCode:347.前K个高频元素
10-5 LeetCode:23.合并K个排序链表
10-6 堆-章节总结
第11章 进阶算法之“搜索排序”
11-1 排序和搜索简介
11-2 JavaScript实现:选择排序
11-3 JavaScript实现:冒泡排序
11-4 JavaScript实现:插入排序
11-5 JavaScript实现:归并排序
11-6 JavaScript实现:快速排序
11-7 JavaScript实现:顺序搜索
11-8 JavaScript实现:二分搜索
11-9 LeetCode:21.合并两个有序链表
11-10 LeetCode:374.猜数字大小
11-11 排序与搜索-章节总结
11-12 思考题
第12章 算法设计思想之“分而治之”
12-1 分而治之简介
12-2 LeetCode:374.猜数字大小
12-3 LeetCode:226.翻转二叉树
12-4 LeetCode:100.相同的树
12-5 LeetCode:101.对称二叉树
12-6 分而治之-章节总结
12-7 思考题
第13章 算法设计思想之“动态规划”
13-1 动态规划简介
13-2 LeetCode:70.爬楼梯
13-3 LeetCode:198.打家劫舍
13-4 动态规划-章节总结
13-5 思考题
第14章 算法设计思想之“贪心算法”
14-1 贪心算法简介
14-2 LeetCode:455.分饼干
14-3 LeetCode:122.买卖股票的最佳时机II
14-4 贪心算法-章节总结
14-5 思考题
第15章 算法设计思想之“回溯算法”
15-1 回溯算法简介
15-2 LeetCode:46.全排列
15-3 LeetCode:78.子集
15-4 回溯算法-章节总结
15-5 回顾与总结
15-6 思考题
