缺什么补什么:别让数据结构成为你写代码的短板
很多转岗或野路子出身的开发者,写业务代码时风生水起,但一遇到性能瓶颈就抓瞎。循环嵌套十几层,数组当万能容器用,查重全靠遍历,根本说不清时间复杂度。这门算法基础与提升课,解决的就是这种“知其然不知其所以然”的问题。它不指望把你培养成竞赛金牌选手,而是帮你把线性表、树、图这些底层结构真正吃透,让你在面临技术选型和代码重构时,脑子里有章法可循。如果你写了几年代码,却连栈和队列的区别只停留在概念上,或者完全不知道二叉树怎么遍历,那这门课就是来给你补基础课的。
建议这样看:先吃透核心结构,再啃经典应用
资料包里的内容虽然按章节顺序排列,但我不建议你从头到尾线性刷。对于基础薄弱的人,建议先看线性表、队列和栈这几块,这是所有逻辑的基石,必须手写代码跑通。接着直接跳到树和图,这两部分是很多人的重灾区,看视频时务必自己在纸上画图,理解节点怎么连接、怎么遍历。等这些核心数据结构搞定了,再去看查找算法和内部排序算法,这时候你会豁然开朗。至于后面的数学问题、趣味问题、图像问题乃至奥赛问题,属于应用拓展,可以挑你最薄弱或最感兴趣的章节看,没必要死磕每一道奥赛题。
配套练习与学完后的能力边界
看视频绝不等于会写算法。这门课的每个实例讲解,你都必须当成练习题来做。正确的配合方式是:先暂停视频,自己读题,打开编辑器从零开始敲代码,卡壳半小时再看讲解。如果直接跟着视频抄代码,过几天必然忘光。学完这套资料后,你应该能独立完成这几件事:第一,拿到一个具体业务需求,能判断该用链表还是数组,该用哈希表还是二叉搜索树;第二,面对一段运行缓慢的代码,能指出哪里存在冗余遍历,并用更优的算法重写;第三,在面试中被问到经典排序或树结构时,能白板写出核心逻辑。别指望看完就能去大厂虐杀算法题,但至少你不再是那个对底层一无所知的糊涂程序员了。
课程目录
1-1 [实例讲解] 第2章 常用的算法思想 (34:52) 1-2 [实例讲解] 第3章 线性表、队列和栈 (16:21) 1-3 [实例讲解] 第4章 树 (16:05) 1-4 [实例讲解] 第5章 图 (16:37) 1-5 [实例讲解] 第6章 查找算法 (17:15) 1-6 [实例讲解] 第7章 内部排序算法 (14:01) 1-7 [实例讲解] 第9章 经典的数据结构问题 (18:42) 1-8 [实例讲解] 第10章 解决数学问题 (30:48) 1-9 [实例讲解] 第11章 解决趣味问题 (34:00) 1-10 [实例讲解] 第12章 解决图像问题 (25:18) 1-11 [实例讲解] 第13章 算法的经典问题 (28:36) 1-12 [实例讲解] 第14章 解决奥赛问题 (44:32) 1-13 [实例讲解] 第15章 常见算法应用实践 (08:37) 1-14 [实例讲解] 第16章 俄罗斯方块游戏-1 (11:50) 1-15 [实例讲解] 俄罗斯方块游戏-2 (07:08) 1-16 [实例讲解] 俄罗斯方块游戏-3 (06:16) 1-17 [实例讲解] 俄罗斯方块游戏-4 (05:19) 1-18 [实例讲解] 俄罗斯方块游戏-5 (09:23) 1-19 [实例讲解] 第17章 学生成绩管理系统-1 (08:01) 1-20 [实例讲解] 学生成绩管理系统-2 (04:59) 1-21 [实例讲解] 学生成绩管理系统-3 (05:35) 1-22 [实例讲解] 学生成绩管理系统-4 (08:19) 1-23 [实例讲解] 学生成绩管理系统-5 (05:42) 1-24 [实例讲解] 第18章 绘图板系统-1.avi (11:32) 1-25 [实例讲解] 绘图板系统-2 (09:07) 1-26 [实例讲解] 绘图板系统-3 (14:11) 1-27 [实例讲解] 绘图板系统-4 (03:25) 1-28 [实例讲解] 第19章 UDP传输系统-1 (05:12) 1-29 [实例讲解] UDP传输系统-2 (08:43) 1-30 [实例讲解] UDP传输系统-3 (08:42) 1-31 [实例讲解] UDP传输系统-4 (09:18) 1-32 [实例讲解] UDP传输系统-5 (09:45) 1-33 [实例讲解] 第20章 推箱子游戏-1 (09:48) 1-34 [实例讲解] 推箱子游戏-2 (06:04) 1-35 [实例讲解] 推箱子游戏-3 (14:01) 1-36 [实例讲解] 推箱子游戏-4 (08:20) 1-37 [实例讲解] 第1章 算法是程序的灵魂 (07:46) 1-38 [实例讲解] 第2章 常用的算法思想 (15:56) 1-39 [实例讲解] 第3章 线性表、队列和栈 (17:33) 1-40 [实例讲解] 第4章 树 (18:06) 1-41 [实例讲解] 第5章 图 (22:05) 1-42 [实例讲解] 第6章 查找算法 (18:04) 1-43 [实例讲解] 第7章 内部排序算法 (23:24) 1-44 [实例讲解] 第8章 外部排序算法 (21:50) 1-45 [实例讲解] 第9章 经典的数据结构问题 (02:52) 1-46 [实例讲解] 第10章 解决数学问题 (04:40) 1-47 [实例讲解] 第11章 解决趣味问题 (08:17) 1-48 [实例讲解] 第12章 解决图像问题 (04:26) 1-49 [实例讲解] 第13章 算法的经典问题 (06:22) 1-50 [实例讲解] 第14章 解决奥赛问题 (09:07) 1-51 [实例讲解] 第15章 常见算法应用实践 (04:46) 1-52 [实例讲解] 第16章 俄罗斯方块游戏 (01:56) 1-53 [实例讲解] 第17章 学生成绩管理系统 (02:08) 1-54 [实例讲解] 第18章 绘图板系统 (01:32) 1-55 [实例讲解] 第20章 推箱子游戏 (02:06) 1-56 [实例讲解] 第19章 UDP传输系统 (02:13)





