先说清楚这门课解决什么问题

这套资料的主题是 C++ 版本的算法与数据结构,核心定位是面试和评级场景下的算法复习。它解决的痛点很具体:很多上班族的简历上写着熟悉 C++,但真到了刷题或者技术面环节,连选择排序都要从头推敲,二叉树递归写不顺,链表操作更是边界条件频出。这门课不是带你做高深莫测的学术研究,而是把日常工作里用不到、但跳槽评级时一定会考的基础算法,重新系统捋一遍。如果你正准备换工作,或者面临公司内部的技术定级考核,需要快速找回算法手感,这套资料就是针对这个场景准备的。

适合什么基础以及怎么配合资料练习

这套资料要求你具备基础的 C++ 语法阅读能力,至少能看懂类模板和基本容器,但不要求你有多深厚的工程经验。课程从排序算法这种最基础的内容切入,逐步过渡到更复杂的数据结构,整体节奏对放下书本很久的上班族比较友好。资料包里包含了完整的视频讲解和配套的源代码。建议的使用方式是:先看视频理解算法的核心逻辑和演进过程,但不要停留在“看懂了”这一步。拿到源代码后,必须自己在本地环境里跑通,然后尝试修改测试用例。比如讲到排序时,自己去生成随机数组验证结果,甚至故意制造边界数据看算法是否会崩溃。看视频和动手敲代码的时间投入,建议至少保持一比一的比例,否则到了真实面试手写代码时依然会卡壳。

建议先看哪几块以及学完能独立做什么

如果时间有限,建议优先看排序基础和后续的线性数据结构部分。排序是理解算法复杂度的敲门砖,这部分内容会带你弄懂时间复杂度的真实测算逻辑,而不是死记硬背公式。学完这套资料后,你能独立完成几个目标:第一,在面对一道陌生算法题时,能准确判断它的时间复杂度和空间复杂度,并给出合理的解法思路;第二,能够使用 C++ 模板独立实现常见的数据结构,而不是依赖标准库直接调包;第三,在真实的面试白板手写代码环节,能写出具备基本鲁棒性的算法实现,把边界条件处理妥当。对于想扎实补齐底层基础的转行者来说,这套资料能帮你把底子打牢,不至于在技术面被基础问题问住。


口碑人气双高的bobo老师算法课,让算法变得简单好学,真实好评看的到

课程目录

*   00 资料/

  *   源代码/

    *   01 coding-71.zip (30.35 MB)

*   01 第1章 当我们谈论算法的时候,我们在谈论什么/

  *   01 1-1 我们究竟为什么要学习算法.mp4 (83.75 MB), 15:36

  *   02 1-2 课程介绍.mp4 (84.24 MB), 12:26

  *   03 1-3 在学习算法和数据结构的具体知识前,你可能想读一读这两篇文章.html (0.00 MB)

*   02 第2章 排序基础/

  *   01 2-1 选择排序法 - Selection Sort.mp4 (62.37 MB), 08:48

  *   02 2-2 使用模板(泛型)编写算法.mp4 (63.72 MB), 11:22

  *   03 2-3 随机生成算法测试用例.mp4 (55.27 MB), 09:46

  *   04 2-4 测试算法的性能.mp4 (49.08 MB), 08:44

  *   05 2-5 插入排序法 - Insertion Sort.mp4 (74.19 MB), 11:01

  *   06 2-6 插入排序法的改进.mp4 (68.48 MB), 11:15

  *   07 2-7 更多关于O(n^2)排序算法的思考.mp4 (29.12 MB), 05:43

*   03 第3章 高级排序算法/

  *   01 3-1 归并排序法 - Merge Sort.mp4 (66.72 MB), 12:39

  *   02 3-2 归并排序法的实现.mp4 (73.01 MB), 12:38

  *   03 3-3 归并排序法的优化.mp4 (45.41 MB), 08:08

  *   04 3-4 自底向上的归并排序算法.mp4 (52.82 MB), 08:30

  *   05 3-5 快速排序法 - Quick Sort.mp4 (116.86 MB), 14:31

  *   06 3-6 随机化快速排序法.mp4 (57.44 MB), 09:50

  *   07 3-7 双路快速排序法.mp4 (77.64 MB), 12:51

  *   08 3-8 三路快速排序法.mp4 (131.53 MB), 15:35

  *   09 3-9 归并排序和快速排序的衍生问题.mp4 (67.73 MB), 13:14

*   04 第4章 堆和堆排序/

  *   01 4-1 为什么使用堆.mp4 (54.71 MB), 10:33

  *   02 4-2 堆的基本存储.mp4 (76.32 MB), 12:10

  *   03 4-3 Shift Up.mp4 (76.45 MB), 11:12

  *   04 4-4 Shift Down.mp4 (75.45 MB), 11:32

  *   05 4-5 基础堆排序和Heapify.mp4 (88.15 MB), 16:04

  *   06 4-6 优化的堆排序(Heap Sort).mp4 (98.51 MB), 11:49

  *   07 4-7 【勘误】关于从0开始索引的堆最后一个非叶子结点索引值的计算.html (0.00 MB)

  *   08 4-8 索引堆(Index Heap).mp4 (114.49 MB), 16:20

  *   09 4-9 索引堆的优化.mp4 (84.42 MB), 12:51

  *   10 4-10 更多关于操作索引的思考.html (0.00 MB)

  *   11 4-11 和堆相关的其他问题.mp4 (54.79 MB), 11:30

  *   12 4-12 两种关于 topK 问题求解思路的套路.html (0.00 MB)

  *   13 4-13 排序算法总结.mp4 (74.22 MB), 12:53

*   05 第5章 二分搜索树/

  *   01 5-1 二分查找法(Binary Search).mp4 (96.76 MB), 16:17

  *   02 5-2 二分搜索树基础 (Binary Search Tree).mp4 (79.17 MB), 11:50

  *   03 5-3 二分搜索树的节点插入.mp4 (62.05 MB), 08:55

  *   04 5-4 二分搜索树的查找.mp4 (98.92 MB), 13:58

  *   05 5-5 二分搜索树的遍历(深度优先遍历).mp4 (109.96 MB), 15:24

  *   06 5-6 层序遍历(广度优先遍历).mp4 (56.16 MB), 08:09

  *   07 5-7 删除最大值,最小值.mp4 (93.34 MB), 13:20

  *   08 5-8 二分搜索树节点的删除(Hubbard Deletion).mp4 (116.21 MB), 16:41

  *   09 5-9 二分搜索树的顺序性.mp4 (63.65 MB), 10:35

  *   10 5-10 二分搜索树的局限性.mp4 (67.04 MB), 13:36

  *   11 5-11 树形问题和更多树.mp4 (41.24 MB), 08:01

*   06 第6章 并查集/

  *   01 6-1 并查集基础(Union Find).mp4 (40.68 MB), 09:08

  *   02 6-2 Quick Find.mp4 (83.41 MB), 11:33

  *   03 6-3 Quick Union.mp4 (100.67 MB), 13:24

  *   04 6-4 基于size的优化.mp4 (59.14 MB), 07:33

  *   05 6-5 基于rank的优化.mp4 (48.98 MB), 06:35

  *   06 6-6 路径压缩 (Path Compression).mp4 (94.99 MB), 14:13

*   07 第7章 图的基础/

  *   01 7-1 图论基础.mp4 (64.87 MB), 12:57

  *   02 7-2 图的表示.mp4 (142.36 MB), 19:27

  *   03 7-3 相邻结点迭代器.mp4 (95.01 MB), 15:07

  *   04 7-4 图的算法框架.mp4 (50.71 MB), 08:41

  *   05 7-5 深度优先遍历和联通分量.mp4 (139.04 MB), 17:44

  *   06 7-6 寻路.mp4 (71.67 MB), 13:48

  *   07 7-7 广度优先遍历和最短路径.mp4 (103.84 MB), 15:01

  *   08 7-8 迷宫生成,PS抠图——更多无权图的应用.mp4 (81.12 MB), 14:32

  *   09 7-9 无权图最短路径的应用:.html (0.00 MB)

*   08 第8章 最小生成树/

  *   01 8-1 有权图.mp4 (115.11 MB), 18:13

  *   02 8-2 最小生成树问题和切分定理.mp4 (48.53 MB), 08:35

  *   03 8-3 Prim算法的第一个实现 (Lazy Prim).mp4 (126.78 MB), 18:55

  *   04 8-4 Prim算法的优化.mp4 (64.89 MB), 12:02

  *   05 8-5 优化后的Prim算法的实现.mp4 (67.01 MB), 11:58

  *   06 8-6 Krusk算法.mp4 (96.25 MB), 14:36

  *   07 8-7 最小生成树算法的思考.mp4 (28.66 MB), 05:50

  *   08 8-8 思想简单但实现复杂的算法.html (0.00 MB)

*   09 第9章 最短路径/

  *   01 9-1 最短路径问题和松弛操作(Relaxation).mp4 (42.61 MB), 08:27

  *   02 9-2 Dijkstra算法的思想.mp4 (73.61 MB), 12:20

  *   03 9-3 实现Dijkstra算法.mp4 (69.10 MB), 12:18

  *   04 9-4 换一种方法实现 Dijkstra 和 Prim.html (0.00 MB)

  *   05 9-5 负权边和Bellman-Ford算法.mp4 (69.91 MB), 11:05

  *   06 9-6 实现Bellman-Ford算法.mp4 (57.30 MB), 10:10

  *   07 9-7 【勘误】关于Bellman-Ford算法的实现.html (0.01 MB)

  *   08 9-8 更多和最短路径相关的思考.mp4 (60.95 MB), 11:19

*   10 第10章 结束语/

  *   01 10-1 总结,算法思想,大家加油.mp4 (74.48 MB), 13:43