编辑导读:抖码算法基础课

解决什么问题,适合什么基础

算法和数据结构是计算机领域的底层逻辑,但很多初学者在自学时常常陷入“能看懂理论,一敲代码就报错”或“背了模板,换个题目就无从下手”的困境。这门课主要解决的就是从零基础到建立系统性算法思维的问题。它适合刚接触编程的小白、需要夯实底层的在校生、从非技术岗位转行 IT 的上班族,以及备考计算机专业研究生或保研需要强化算法能力的学生。课程内容不预设你已经精通某种语言,只要掌握基本的变量、循环和分支语法就能跟上。如果你正处于“刷题刷不动、看源码像看天书”的阶段,这门课能帮你把缺失的地基补齐。

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

拿到资料后,建议不要一上来就盲目往后看,先从“复杂度分析”这一基础板块切入。这部分讲清楚了时间复杂度的大 O 表示法、算法执行时间的计算逻辑,这是后续衡量所有代码优劣的标尺。搞懂大 O 表示法,你才能理解为什么有些代码在数据量激增时会卡死,从而在写代码时具备性能意识。学完整套课程后,你应当能独立分析一段代码的时间与空间复杂度,手写常见的排序与查找逻辑,并且能看懂基础的算法源码。面对常规的算法题目,你不再需要死记硬背,而是能拆解问题、评估时间消耗,并给出可运行的实现方案。

资料怎么配合练习

算法是一门强实践的课程,光看视频绝对学不会。建议在看每个知识点的视频时,同步打开编辑器跟着敲一遍。视频里演示了如何新建项目、如何推导执行时间,你要在本地把推导过程用代码跑一遍,观察实际耗时与理论分析的差异。每看完一个基础概念,先暂停视频,自己尝试默写核心逻辑,再去对照视频里的写法查漏补缺。切忌把资料当成通勤路上的背景音,手不动起来,算法的肌肉记忆就无法形成。对于转行者和在职党来说,每天抽出固定时间,哪怕只吃透一个复杂度推导,也比一天看完五个视频但一行代码不写要有效得多。


编程初学者:刚接触编程,想系统学习算法基础的小白 大学生:计算机相关专业,需要夯实算法基础的在校学生 转行者:从非技术岗位转行IT,需要补充算法知识的学习者 考研/保研党:备考计算机专业研究生或保研,需要强化算法能力的学生

课程目录

*   基础篇一:复杂度分析【1.6 小时】【基础班】/

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.1. 复杂度分析课程内容.mp4 (2.36 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.2. 新建项目.mp4 (3.61 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.3. 为什么需要时间复杂度分析.mp4 (12.46 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.4. 算法执行时间的计算.mp4 (15.94 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.5. 大 O 复杂度表示法.mp4 (15.51 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.6. 渐进时间复杂度分析.mp4 (14.08 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.7. 常量阶时间复杂度.mp4 (6.20 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.8. 对数阶时间复杂度.mp4 (14.83 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.9. 时间复杂度分析方法总结.mp4 (4.52 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.10. 时间复杂度加法法则.mp4 (5.55 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.11. 时间复杂度乘法法则.mp4 (3.70 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.12. 时间复杂度分析例子.mp4 (8.99 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.13. 常用时间复杂度总结.mp4 (10.42 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.14. 最好、最坏以及平均时间复杂度.mp4 (9.90 MB)

  *   基础篇一:复杂度分析【1.6 小时】【基础班】.15. 空间复杂度分析.mp4 (5.99 MB)

*   基础篇七:链表相关算法【3 小时】【基础班】/

  *   基础篇七:链表相关算法【3 小时】【基础班】.1_链表相关算法:基础知识.mp4 (35.83 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.2_力扣 203 题:移除链表元素.mp4 (29.86 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.3_力扣 206 题:反转链表.mp4 (27.62 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.4_力扣 876 题:链表的中间节点.mp4 (18.27 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.5_力扣 19 题:删除链表的第 N 个节点.mp4 (23.05 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.6_力扣 21 题:合并两个有序链表.mp4 (30.86 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.7_力扣 23 题:合并 K 个升序链表.mp4 (34.54 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.8_力扣 147 题:对链表进行插入排序.mp4 (25.41 MB)

  *   基础篇七:链表相关算法【3 小时】【基础班】.9_力扣 148 题:排序链表.mp4 (71.06 MB)

*   基础篇三:栈和队列【4.2 小时】【基础班】/

  *   基础篇三:栈和队列【4.2 小时】【基础班】.1_栈的特点和使用场景.mp4 (24.01 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.2_使用数组实现栈.mp4 (35.39 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.3_使用链表实现栈.mp4 (36.17 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.4_力扣 20 号题:有效括号(老).mp4 (36.56 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.5_力扣 20 号题:最小栈.mp4 (41.26 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.6_队列的特点和实现.mp4 (27.94 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.7_循环队列的基础实现.mp4 (19.39 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.8_循环队列的扩容和缩容.mp4 (28.23 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.9_各种队列实现方式的比较和优化.mp4 (40.80 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.10_Java 中的队列.mp4 (59.93 MB)

  *   基础篇三:栈和队列【4.2 小时】【基础班】.11_剑指 9 号题:两个栈实现队列.mp4 (13.93 MB)

*   基础篇二:数组和链表【4.7 小时】【基础班】/

  *   基础篇二:数组和链表【4.7 小时】【基础班】.1_静态数组.mp4 (41.36 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.2_二次封装内置数组.mp4 (23.34 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.3_二次封装内置数组的增删改查操作.mp4 (43.53 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.4_二次封装内置数组的其他特点.mp4 (32.55 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.5_动态数组的扩容和缩容.mp4 (36.52 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.6_动态数组对比静态数组.mp4 (27.30 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.7_链表对比数组.mp4 (29.37 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.8_单向链表的查询操作实现.mp4 (31.25 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.9_单向链表的修改和新增操作实现.mp4 (28.89 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.10_单向链表的删除操作实现.mp4 (31.83 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.11_单向链表测试及其复杂度分析.mp4 (27.19 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.12_双向链表的优缺点.mp4 (22.04 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.13_双向链表的修改和新增操作实现.mp4 (29.78 MB)

  *   基础篇二:数组和链表【4.7 小时】【基础班】.14_双向链表的删除操作实现.mp4 (33.69 MB)

*   基础篇五:排序算法(二)【4.8 小时】【基础班】/

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.1_桶排序.mp4 (60.06 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.2_计数排序.mp4 (54.64 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.3_基数排序.mp4 (40.86 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.4_如何写一个通用的排序算法.mp4 (35.92 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.5_引用类型数组的排序.mp4 (57.40 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.6_Java 内置排序算法.mp4 (26.71 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.7_力扣 56 题:合并区间.mp4 (23.01 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.8_力扣 179 题:最大数.mp4 (30.51 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.9_力扣 75 题:颜色分类.mp4 (26.12 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.10_力扣 164 题:最大间距.mp4 (58.48 MB)

  *   基础篇五:排序算法(二)【4.8 小时】【基础班】.11_剑指 51 题:数组中的逆序对.mp4 (44.87 MB)

*   基础篇六:二分算法【4.3 小时】【基础班】/

  *   基础篇六:二分算法【4.3 小时】【基础班】.1_二分查找代码实现.mp4 (33.29 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.2_几个二分查找细节问题.mp4 (43.43 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.3_二分查找的变形问题 (一).mp4 (37.98 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.4_二分查找的变形问题 二).mp4 (20.09 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.5_二分查找的应用 - IP 地址维护.mp4 (59.63 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.6_力扣 704 题:二分查找.mp4 (48.55 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.7_力扣 34 题:在排序数组中查找元素的第一个和最后一个位置.mp4 (41.52 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.8_力扣 35 题:搜索插入位置.mp4 (33.37 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.9_力扣 33 题:搜索旋转排序数组.mp4 (23.28 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.10_剑指 11 题:旋转排序数组的最小数字.mp4 (26.67 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.11_力扣 852 题:山脉数组的峰顶索引.mp4 (16.02 MB)

  *   基础篇六:二分算法【4.3 小时】【基础班】.12_力扣 1095 题:二分查找代码实现.mp4 (12.07 MB)

*   基础篇四:排序算法(一)【7 小时】【基础班】/

  *   基础篇四:排序算法(一)【7 小时】【基础班】.1_双指针算法需要的基础知识.mp4 (17.36 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.2_双指针之快慢指针.mp4 (55.80 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.3_双指针之对撞指针以及总结.mp4 (36.31 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.4_理解递归需要的基础知识.mp4 (27.91 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.5_递归的理解.mp4 (39.11 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.6_排序基础.mp4 (16.92 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.7_冒泡排序.mp4 (39.11 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.8_选择排序.mp4 (31.34 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.9_插入排序.mp4 (69.40 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.10_希尔排序(一).mp4 (33.93 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.11_希尔排序(二).mp4 (40.94 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.12_归并排序(一).mp4 (33.02 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.13_归并排序(二).mp4 (40.77 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.14_归并排序(三).mp4 (33.10 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.15_归并排序(四).mp4 (18.90 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.16_快速排序(一).mp4 (32.99 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.17_快速排序(二).mp4 (25.72 MB)

  *   基础篇四:排序算法(一)【7 小时】【基础班】.18_快速排序(三).mp4 (41.72 MB)