缺什么补什么:别让数据结构成为你写代码的短板

很多转岗或野路子出身的开发者,写业务代码时风生水起,但一遇到性能瓶颈就抓瞎。循环嵌套十几层,数组当万能容器用,查重全靠遍历,根本说不清时间复杂度。这门算法基础与提升课,解决的就是这种“知其然不知其所以然”的问题。它不指望把你培养成竞赛金牌选手,而是帮你把线性表、树、图这些底层结构真正吃透,让你在面临技术选型和代码重构时,脑子里有章法可循。如果你写了几年代码,却连栈和队列的区别只停留在概念上,或者完全不知道二叉树怎么遍历,那这门课就是来给你补基础课的。

建议这样看:先吃透核心结构,再啃经典应用

资料包里的内容虽然按章节顺序排列,但我不建议你从头到尾线性刷。对于基础薄弱的人,建议先看线性表、队列和栈这几块,这是所有逻辑的基石,必须手写代码跑通。接着直接跳到树和图,这两部分是很多人的重灾区,看视频时务必自己在纸上画图,理解节点怎么连接、怎么遍历。等这些核心数据结构搞定了,再去看查找算法和内部排序算法,这时候你会豁然开朗。至于后面的数学问题、趣味问题、图像问题乃至奥赛问题,属于应用拓展,可以挑你最薄弱或最感兴趣的章节看,没必要死磕每一道奥赛题。

配套练习与学完后的能力边界

看视频绝不等于会写算法。这门课的每个实例讲解,你都必须当成练习题来做。正确的配合方式是:先暂停视频,自己读题,打开编辑器从零开始敲代码,卡壳半小时再看讲解。如果直接跟着视频抄代码,过几天必然忘光。学完这套资料后,你应该能独立完成这几件事:第一,拿到一个具体业务需求,能判断该用链表还是数组,该用哈希表还是二叉搜索树;第二,面对一段运行缓慢的代码,能指出哪里存在冗余遍历,并用更优的算法重写;第三,在面试中被问到经典排序或树结构时,能白板写出核心逻辑。别指望看完就能去大厂虐杀算法题,但至少你不再是那个对底层一无所知的糊涂程序员了。

课程目录

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)