这门课讲的是用 JavaScript 实现常见的数据结构与算法。如果你正在准备软考,或者想补一补写代码时总绕不过去的那部分基本功,它会比纯理论教材好啃一些——因为代码能跑,跑出来你能看见结果。但它也不是速成班,下面说说怎么用它。
先弄清楚它适合谁
假设你已经能写一些 JavaScript:知道数组、对象、函数怎么用,写过循环和判断,遇到 undefined 和闭包不至于慌。这个位置是起点。如果连 for 循环都还没写过几遍,先别急着开这门课,回去写二十个小练习更划算。
另外要接受一件事:数据结构与算法本身就有记不住的部分。链表指针转两圈就晕、递归展开图看不懂、动态规划的状态转移方程推不出来,这些不是你笨,是这类内容的正常门槛。第一遍看懂个大概,第二遍动手写出来,第三遍才可能顺手。这门课的价值是给你一条能反复回看的线,不是让你一遍通关。
建议的进入顺序
不要从第一讲一路平推到最后一讲,那样很容易在中间某个结构上卡死然后放弃。更稳的做法是:
- 先把线性结构(数组、栈、队列、链表)看一遍,这部分最贴近日常写代码的直觉,快点过没关系,重点是跟着敲一遍完整实现,而不是只看懂。
- 然后停在「树」这一块,多花时间。二叉树、遍历、递归写法是后面很多内容的地基,这里松了后面全松。
- 哈希表、集合这类偏应用的可以放在树之后,它们理解成本低,写起来快,能帮你找回一点信心。
- 排序和查找可以穿插着看,不必等前面全部结束——它们相对独立,卡住别的章节时切过去换换脑子反而好。
- 图、动态规划、贪心这些放在最后。它们的难度和前面不在一个层级,需要前面攒下的手感。
哪些部分可以先跳过
不是每讲都得看完。如果你只是应付软考的选择题和基础编程题,图的最短路径几种算法细节、复杂的平衡树旋转过程,可以先只记住概念和适用场景,不追求手写。反过来,如果你目标是笔试面试里那种手撕代码,那这些恰好是重点,不能跳。
还有一种情况:某些章节你看了两遍还是没感觉,那就先放过,去做几道对应的简单题。很多时候不是讲解没听懂,是你缺那几道题的体感。等题目做烦了再回来看,会突然通。
资料和练习怎么配合
讲义和笔记是拿来复盘用的,不是拿来第一次学的。第一遍靠看视频或跟读,第二遍才翻笔记,第三遍合上所有资料自己写。每完成两三个小节,用一张便签写下「这个结构解决什么问题、怎么实现、什么场景用」,不用长,两三行就够。坚持下来,等临近考试或面试前,你翻的是自己写的东西,效率比重新看视频高得多。
代码一定要自己敲。看着老师写一遍等于没写,尤其是链表反转、树的遍历、递归回溯这类,手指的记忆比眼睛可靠。写完故意改几个边界条件,看看哪里崩,比一次写对收获更大。
最后提醒一句:这门课的内容可以慢慢吃,两三周过完是理想情况,一个月也不丢人。设一个「每周稳定推进两讲」的目标,比「三天看完」现实得多。
image.webp 下载附件 保存到相册 2025-6-19 23:49 上传
课程推荐
《JavaScript版 数据结构与算法》image.webp 下载附件 保存到相册 2025-6-19 23:49 上传【技能收获】学完可掌握:核心实战技能、项目驱动学习。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。
视频目录(80 节)
* 1-1 课程导学 (0855).mp4
* 1-2 学习姿势 (0911).mp4
* 1-3 说明与承诺 (1057).mp4
* 2-1 环境搭建 (1729).mp4
* 2-2 反转单词原理讲解 (2259).mp4
* 2-3 反转单词代码演示 (0523).mp4
* 2-4 计算子串原理讲解 (1831).mp4
* 2-5 计算子串代码演示 (2047).mp4
* 3-1 数组题目介绍 (0201).mp4
* 3-2 电话号码组合-原理讲解 (1311).mp4
* 3-3 电话号码组合-代码演示 (2205).mp4
* 3-4 卡牌分组-原理讲解 (1059).mp4
* 3-5 卡牌分组-代码演示 (1528).mp4
* 3-6 种花问题-原理讲解 (1825).mp4
* 3-7 种花问题-代码演示 (0243).mp4
* 3-8 格雷编码-原理讲解 (0339).mp4
* 3-9 格雷编码-代码演示 (1541).mp4
* 4-1 重复的子串-原理讲解 (0802).mp4
* 4-2 重复的子串-代码演示 (0542).mp4
* 4-3 正则表达式匹配-原理讲解 (1528).mp4
* 4-4 正则表达式匹配-代码演示 (1417).mp4
* 5-1 冒泡排序 (2055).mp4
* 5-2 选择排序 (1258).mp4
* 5-3 奇偶排序 (1336).mp4
* 5-4 第K个最大值(1) (0449).mp4
* 5-5 第K个最大值(2) (1243).mp4
* 5-6 最大区间(1) (1230).mp4
* 5-7 最大区间(2) (1439).mp4
* 5-8 缺失的第一个正数(1) (2338).mp4
* 5-9 缺失的第一个正数(2) (1108).mp4
* 5-10 快速排序-基础算法 (1044).mp4
* 5-11 快速排序-高级算法 (2352).mp4
* 6-1 复原IP地址-原理讲解 (1401).mp4
* 6-2 复原IP地址-代码演示 (1552).mp4
* 6-3 关联字符串-原理讲解 (0650).mp4
* 6-4 关联字符串-代码演示 (1005).mp4
* 7-1 棒球比赛-原理讲解 (1111).mp4
* 7-2 棒球比赛-代码实操 (1145).mp4
* 7-3 最大矩形-原理讲解 (0753).mp4
* 7-4 最大矩阵-代码实操(1) (2126).mp4
* 7-5 最大矩阵-代码实操(2) (1259).mp4
* 8-1 循环队列-原理讲解 (0726).mp4
* 8-2 循环队列-代码实操 (1818).mp4
* 8-3 任务队列-原理讲解 (1110).mp4
* 8-4 任务队列-代码实操 (1725).mp4
* 9-1 排序链表-原理讲解 (1453).mp4
* 9-2 排序链表-代码实操 (2521).mp4
* 9-3 环形链表-原理讲解 (0641).mp4
* 9-4 环形链表-代码实操 (0938).mp4
* 10-1 螺旋矩阵-原理讲解 (0928).mp4
* 10-2 螺旋矩阵-代码实操 (1059).mp4
* 10-3 旋转图像-原理讲解 (0909).mp4
* 10-4 旋转图像-代码实操 (1141).mp4
* 11-1 对称二叉树-原理讲解 (1145).mp4
* 11-2 对称二叉树-代码实操 (2810).mp4
* 11-3 验证二叉搜索树-原理讲解 (0556).mp4
* 11-4 验证二叉搜索树-代码实操 (1758).mp4
* 12-1 堆排序-原理讲解 (1645).mp4
* 12-2 堆排序-代码演示(1) (2343).mp4
* 12-3 堆排序-代码演示(2) (1600).mp4
* 12-4 超级丑数-原理讲解 (1005).mp4
* 12-5 超级丑数-代码演示(1) (2858).mp4
* 12-6 超级丑数-代码演示(2) (1018).mp4
* 13-1 进阶算法介绍 (0149).mp4
* 13-2 买卖股票最佳时机-原理讲解 (1130).mp4
* 13-3 买卖股票最佳时机-代码实操 (0959).mp4
* 13-4 柠檬水找零-原理讲解 (1705).mp4
* 13-5 柠檬水找零-代码实操 (0412).mp4
* 14-1 不同路径II-原理讲解 (1846).mp4
* 14-2 不同路径II-代码实操 (1148).mp4
* 14-3 k站中转站-原理讲解 (0917).mp4
* 14-4 k站中转站-代码实操 (1252).mp4
* 14-5 课程总结 (0832).mp4
* 15-1 内容安排 (1126).mp4
* 15-2 如何学习(入门级) (1346).mp4
* 15-3 如何面试(入门级) (2035).mp4
* 15-4 如何晋升(入门级) (0929).mp4
* 15-5 如何学习(中高级) (1047).mp4
* 15-6 如何晋升 一(中高级) (1228).mp4
* 15-7 如何晋升 二(中高级) (0621).mp4





