这门课解决什么工作场景
很多前端开发者在日常写业务时,大多在和组件、接口打交道,很少直接手写复杂的数据结构。但当你去面中大型公司,或者需要去阅读 Vue、React 等主流框架的源码时,算法和底层的数据结构就成了绕不开的门槛。这门资料主要解决的就是“前端工程师如何用 JavaScript 把常见算法吃透”的问题。它没有一上来就拿抽象的数学公式压人,而是从实际痛点切入:为什么前端要学算法、如何分析复杂度,再到链表、位运算等具体考点。更务实的一点在于,它把算法和前端框架源码结合了起来,比如讲解了 Vue3 里 keep-alive 组件的缓存设计,以及位运算在 Vue 和 React 源码里的实际应用。这就让算法不再是纯粹的面试八股文,而是帮你理解日常所用框架背后设计思路的工具。
适合什么基础与建议先看的模块
这套资料适合已经掌握 JavaScript 基础语法、能独立写页面和调接口,但缺乏数据结构系统训练的上班族和转行者。如果你连基本的循环和函数都写不熟练,建议先补齐语言基础再来。对于符合基础要求的读者,建议先把前几块的基础内容过一遍,尤其是用 LeetCode 题目分析算法复杂度的部分,这是后续所有练习的地基。接着,可以直接进入链表和数组模块。链表是前端面试的高频考点,资料里从 JavaScript 的底层实现开始写起,然后无缝衔接到具体的 LeetCode 真题,比如删除节点、判断环形链表。先看这几块,能帮你快速建立“写代码 -> 提交测试 -> 分析优劣”的实战节奏,而不会陷入枯燥的理论背诵。
学完能独立做什么与资料配合方法
跟着这套资料走完,你能独立用 JavaScript 手写数组、链表等基础数据结构,并顺利解开中等难度的 LeetCode 题。更重要的是,在面试中被问到框架源码时,你能从数据结构的角度去解释组件缓存机制或标志位运算的原理,而不是死记硬背别人总结的源码分析文章。资料怎么配合练习是关键。这套内容包含了通用代码提交到仓库的指导,建议你不要只在视频或文档里看懂就完事。正确的用法是:在本地配好 JS 运行环境,跟着资料里的指令把源码仓库拉取下来。每学完一个数据结构,先自己默写一遍 JavaScript 实现,再去对应的题目平台上盲写测试用例。如果卡住了,再回去查资料里的具体拆解步骤。算法学习没有捷径,只有把资料里的解题思路转化为自己键盘上的肌肉记忆,才算真正避开了“买课看懂但上手就废”的坑。
01-前端为什么要学算法 · 02-一个leetcode题了解算法复杂度 · 03 通用01-如何把代码提交到github · 04 通用02-如何获取gith
课程目录
* 01-前端为什么要学算法
* 02-一个leetcode题了解算法复杂度
* 03 通用01-如何把代码提交到github
* 04 通用02-如何获取github代码权限并且提交pr
* 05 03-链表和数组
* 06 04-链表的javascript实现01
* 07 05-链表的javascript实现-leetcode203题
* 08 06-链表的javascript实现-leetcode141-环形链表
* 09 07-Vue3源码中的链表应用-keep-alive组件的缓存设计1
* 10 08-位运算和它在Vue和React源码里的应用
* 11 09-leetcode136和异或位运算
* 12 10-前端基于位运算的组合权限认证
* 13 11-树结构入门+leetcode104+leetcode226
* 14 12-数据结构关系漫谈
* 15 13-从React原理看树和链表的关系
* 16 14-使用Vscode刷题-20.有效的括号
* 17 15-71简化路径-强化栈的使用
* 18 16-算法思想-冒泡排序
* 19 17-二分思想优化排序-快速排序和原地快拍
* 20 18-15题三数之和
* 21 19-二分法优化leftpad函数的性能
* 22 20-回溯和递归思想入门-46题
* 23 21-leetcode79单词搜索-回溯
* 24 22.贪心算法+860柠檬找零
* 25 23. leetcode55.跳跃游戏+455分发饼干
* 26 24.动态规划+509斐波那契数列
* 27 25.动态规划思想解leetcode322题-零钱兑换
* 28 26.leetcode300题-Vue3源码中的最长递增子序列
* 29 27.刷题章节开始-刷题公式介绍+leetcode94+144+145
* 30 28.刷题目录概览
* 31 29.数组刷题-26+27+283
* 32 30.数组刷题167+977+209+344
* 33 31.206翻转链表+19删除链表倒数第N各节点
* 34 32.链表刷题21合并链表+876中间节点+234回文链表
* 35 33.链表160相交+92翻转链表2+142环形链表2
* 36 34.100+101二叉树刷题
* 37 35.树的迭代写法 144+100
* 38 36.树形结构刷题111+114
* 39 37.刷题617+236
* 40 38.刷题543二叉树的执行+572是否是子树
* 41 39.572+222+257树结构
* 42 40.二叉树的层序遍历102+107+199
* 43 41.二叉树层序遍历训练637+116+429
* 44 42.二叉树刷题训练515+112+404
* 45 43.二叉搜索树98+99
* 46 44.二叉搜索树的回复108+109+654
* 47 45.二叉搜索树230+700+701
* 48 46.栈和队列的相互转换225+232
* 49 47.逆波兰表达式求值150
* 50 48.队列和栈刷题1047+151
* 51 49.算法思想--二分刷题公式+704
* 52 50.二分153+69
* 53 51.回溯刷题--17+39
* 54 52-回溯刷题-高频面试题51N皇后+37解数独
* 55 53.回溯和递归刷题77
* 56 54.回溯刷题-组合-子集-分割-77+78+131+93+47+125
* 57 55-贪心算法刷题45
* 58 56.贪心刷题-452+435
* 59 57.贪心刷题621+649
* 60 58.动态规划刷题-70爬楼梯+746最小成本爬楼梯
* 61 59.动态规划刷题62+63不同路径
* 62 60.动态规划刷题打家劫舍198
* 63 61.打家劫舍题型刷题213+337
* 64 62.买卖股票问题121
* 65 63.买卖股票系列刷题122+123
* 66 64.买卖股票-714题
* 67 65.动态规划刷题-53.最大子数组和
* 68 66.动态规划刷题674+518
* 69 67.动态规划刷题序列问题-392+1143
* 70 68.不同的子序列115
* 71 69.答疑115执行过程
* 72 70.字符串删除距离583刷题
* 73 71.编辑距离-虚拟Dom原始问题解答
* 74 72.刷题复习-202快乐数
* 75 73.刷题-383+242
* 76 74.18四数之和
* 77 75.leetcode中的脑筋急转弯
* 78 76.堆数据结构刷题TOPK-215+295
* 79 77.数据结构扩展-堆
* 80 78.堆出题-347-前K个高频元素
* 81 79.刷题502-IPO
* 82 80.设计数据结构-最小栈155题
* 83 81.单调栈设计739+496+503
* 84 82.数据结构设计--手写LFU缓存
* 85 83.数据结构设计-208手写Trie树
* 86 84.数据结构设计-设计链表707
* 87 85.刷题小技巧回顾
* 88 86.算法面试小技巧
* 89 87.字节跳动面试真题--异步任务的并发量控制limit
* 90 88.字节百度面试题--设计浏览器前进和后退功能-1472
* 91 89.滴滴面试题实战--设计一个验证码过期系统-1797
* 92 90.阿里面试题实战-最近的请求数-933
* 93 91.百度面试题实战-合并K个链表-23
* 94 92.腾讯面试题实战-排序列表+重复数字-217+148
* 95 93.网易面试题实战-洗牌算法-384
* 96 94.美团面试题实战-设计randomSet-380
* 97 95.腾讯面试题实战-扁平化数组-341






