先说清楚这门课解决什么问题
这套资料的主题是 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






