这套课的名字里带着「快速」两个字,但如果你是真的一点基础都没有,我得先把话说在前面:它快不起来。算法和数据结构本来就是编程里最需要慢下来的部分,指望几天啃完,多半会在递归或者指针那里卡住,然后放弃。这份导读想帮你做的,是安排一个能坚持下去的顺序,而不是催你赶进度。
先确认一件事:你会不会写一点点代码
这门课默认你能看懂最基本的程序结构——变量、循环、判断、函数。如果你连这些还模糊,直接进来听时间复杂度、链表、树的遍历,会非常痛苦,因为你连示例代码在干什么都读不顺。这种情况下,建议先花两三周把任意一门语言的基础语法过一遍,能独立写出一个读写文件的小程序,再回来。这不是劝退,是省时间。
如果你已经能写一点小脚本,只是没系统学过算法,那你正是这门课的目标读者,可以往下看。
前几讲怎么看:别跳,但可以慢
课程开头通常会讲算法是什么、怎么衡量一个算法的好坏,也就是时间复杂度和空间复杂度。这部分看着抽象、没有代码可跑,很多人想跳过,我不建议。它是后面所有内容的尺子——判断一段代码快不快、该不该优化,全靠这套语言。看不懂大 O 记号没关系,先记住「同样解决问题,操作次数随数据量怎么涨」这个直觉,做题时再回头补。
接着是线性结构:数组、链表、栈、队列。这几讲一定要动手画图,把每个元素的指针指向关系画在纸上,比盯着代码看有效得多。这一块是后面树、图的基石,画明白了,后面轻松一半。
中间这几块,谁的顺序可以往后放
- 递归:第一次接触会晕,正常。可以先记住「自己调用自己 + 有终止条件」的模板,不用一次吃透。
- 排序与查找:能跟着手写一遍冒泡、插入、二分就够了,剩下的了解思路即可,实际写代码时大多直接调库。
- 树与图:这是重点,也是最花时间的部分。二叉树遍历、深度优先、广度优先,建议配合草稿纸一步步模拟执行过程。
- 动态规划:公认的难点。如果你时间紧,这一块可以放到最后,甚至第一轮先略过,等前面都熟了再攻。
至于课程里偏具体语言实现细节、或者针对某类认证考纲的补充章节,如果你不打算考证,可以只当参考,不必每节都看。
资料和笔记怎么配合
课后笔记的价值不在于你抄了多少,而在于你能不能用一句话概括「这一节解决的问题和它的代价」。每学完两三节,停下来合上资料,自己写三五行的总结,再试着把课上那个简单例子独立敲一遍、跑通。跑不通再回去看,这个来回的过程才是真正学会的地方。
别追求把每个算法都背下来。能被你独立复现、并且说清楚它适合什么场景的,才算你的。最后挑一个小 Demo 自己从头写一遍,写进你的记录里,比刷十道选择题管用。
给自己留点余地
如果你每天只有半小时到一小时,把整个课走完大概要一两个月,遇到树和图可能还会更久。这很正常。学不会动态规划、记不住所有复杂度,都不影响你继续往下学。真正要紧的是别停在某一讲反复纠结到放弃——先往前走,回头再补,往往比死磕更有效。
- 编程初学者:对编程有一定兴趣但尚未深入学习算法和数据结构的爱好者。
课程推荐
《零基础快速掌握算法与数据结构完整版教程》- 编程初学者:对编程有一定兴趣但尚未深入学习算法和数据结构的爱好者。【技能收获】学完可掌握:算法、数据结构、编程练习。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。
视频目录(98 节)
* 1-1 01 算法入门概念.mp4
* 1-2 02 估计算法运行效率与时间复杂度.mp4
* 1-3 03 简单判断时间复杂度.mp4
* 1-4 04 空间复杂度.mp4
* 1-5 05 递归.mp4
* 1-6 06 汉诺塔问题.mp4
* 1-7 07 顺序查找.mp4
* 1-8 09二分查找介绍.mp4
* 1-9 10二分查找代码.mp4
* 1-10 11二分查找与线性查找的比较.mp4
* 2-1 12排序介绍.mp4
* 2-2 13冒泡排序介绍.mp4
* 2-3 14冒泡排序.mp4
* 2-4 15选择排序.mp4
* 2-5 16插入排序.mp4
* 2-6 17快速排序原理介绍.mp4
* 2-7 18快速排序代码实现.mp4
* 2-8 19快速排序代码实现2.mp4
* 2-9 20堆排序前传树的基础知识.mp4
* 2-10 21堆排序前传二叉树的基础知识.mp4
* 2-11 22堆排序前传堆和堆的向下调整.mp4
* 2-12 23堆排序的过程演示.mp4
* 2-13 24向下调整函数的实现.mp4
* 2-14 25堆排序的实现(1).mp4
* 2-15 26堆排序的实现(2).mp4
* 2-16 27堆排序的时间复杂度.mp4
* 2-17 28堆的内置模块.mp4
* 2-18 29topk问题.mp4
* 2-19 30topk实现.mp4
* 2-20 31归并排序实现.mp4
* 2-21 32归并排序归并.mp4
* 2-22 33归并排序复杂度讨论.mp4
* 2-23 34NB三人组小结.mp4
* 2-24 35希尔排序.mp4
* 2-25 36希尔排序讨论.mp4
* 2-26 37计数排序.mp4
* 2-27 38桶排序介绍.mp4
* 2-28 39桶排序实现.mp4
* 2-29 40基数排序介绍.mp4
* 2-30 41基数排序实现.mp4
* 2-31 42查找排序部分习题.mp4
* 2-32 43查找排序习题1.mp4
* 2-33 44查找排序习题2.mp4
* 2-34 45查找排序习题3.mp4
* 2-35 46查找排序习题4.mp4
* 3-1 47数据结构介绍.mp4
* 3-2 48列表.mp4
* 3-3 49栈的介绍.mp4
* 3-4 50栈的应用:括号匹配问题.mp4
* 3-5 51队列的介绍.mp4
* 3-6 52队列的实现.mp4
* 3-7 53队列的内置模块.mp4
* 3-8 54栈和队列的应用:迷宫问题.mp4
* 3-9 55使用栈解决迷宫问题.mp4
* 3-10 56使用队列进行迷宫问题:介绍.mp4
* 3-11 57使用队列进行迷宫问题:实现.mp4
* 3-12 58 链表介绍.mp4
* 3-13 59 链表创建和遍历.mp4
* 3-14 60 链表的插入和删除.mp4
* 3-15 61 双链表.mp4
* 3-16 62 链表总结.mp4
* 3-17 63 哈希表.mp4
* 3-18 64 哈希表实现.mp4
* 3-19 65 哈希表应用.mp4
* 3-20 66 树的概念.mp4
* 3-21 67 树的实例:模拟文件系统.mp4
* 3-22 68 二叉树的概念.mp4
* 3-23 69 二叉树的遍历.mp4
* 3-24 70 二叉搜索树的概念.mp4
* 3-25 71 二叉搜索树:插入.mp4
* 3-26 72 二叉搜索树:查询.mp4
* 3-27 73 二叉搜索树:删除.mp4
* 3-28 74 二叉搜索树:删除实现.mp4
* 3-29 75 AVL树的概念.mp4
* 3-30 76 AVL:旋转.mp4
* 3-31 77 AVL:旋转实现1.mp4
* 3-32 78 AVL:旋转实现2.mp4
* 3-33 80 AVL:插入.mp4
* 3-34 81 AVL树应用与数据结构总结.mp4
* 4-1 83 贪心算法(新一章:算法进阶).mp4
* 4-2 84 分数背包.mp4
* 4-3 85 分数背包实现.mp4
* 4-4 86 数字拼接问题.mp4
* 4-5 87 数字拼接问题实现.mp4
* 4-6 88 活动选择问题.mp4
* 4-7 9 活动选择问题实现.mp4
* 4-8 90 贪心算法总结.mp4
* 4-9 91 动态规划介绍.mp4
* 4-10 92 钢条切割问题.mp4
* 4-11 93 钢条切割问题:自顶向下实现.mp4
* 4-12 94 钢条切割问题:自底向上实现.mp4
* 4-13 95 钢条切割问题:重构解.mp4
* 4-14 96 最长公共子序列.mp4
* 4-15 97 最长公共子序列:实现.mp4
* 4-16 98 欧几里得算法.mp4
* 4-17 99 RSA算法介绍.mp4
* 4-18 100 RSA算法测试.mp4
* 4-19 101 算法课程总结.mp4





