这门课解决什么问题

很多做业务开发的 Java 程序员,写增删改查很熟练,但一遇到性能优化、海量数据筛选或底层中间件源码阅读就卡壳。这门课针对的就是这种“会用框架但说不清底层为什么这么设计”的断层。它把工作场景里高频出现的内存管理、集合扩容、递归调用栈、排序查找效率等问题,拆成具体的数据组织方式和算法逻辑来讲解。学完之后,面对系统瓶颈,你不再只能靠加机器或加缓存硬扛,而是能从代码执行时间复杂度层面去定位问题,明白哪段逻辑该重写、哪段逻辑是天生低效必须换方案。

适合什么基础与建议先看哪几块

这门资料不适合完全没写过代码的转行者,它默认你已经掌握 Java 基础语法,能独立写循环和类。对于工作中只调业务接口、想补齐计算机基础的一线开发人员最为对口。建议拿到资料后,不要按顺序从头看,先直奔算法分析和数组详解这两块。算法分析部分讲清了运行时间抽象和复杂度符号,这是后续所有内容的评估标尺;数组详解则是最贴近日常开发的数据结构,从特性到需求实现一步步推演,能帮你快速建立“手写底层结构”的手感。把这两块吃透,再往后看树、图等更复杂的结构时,就不会觉得抽象。

学完能独立做什么与资料怎么配合练习

学完后,你能脱离现成集合类,独立用 Java 手写并改造常用数据结构,比如自己实现一个支持动态扩容的数组,或者在指定场景下对排序算法做时间复杂度评估并选出最优解。看资料时,强烈建议按“先看懂思路、再暂停视频默写、最后对比纠错”的节奏来。每看完一个实现需求的小节,立刻打开本地 IDE 把刚才的代码敲一遍,不要只盯着视频里的演示。遇到递归和时间评估这种容易绕晕的知识点,在纸上画出每一步的内存变化和调用栈。这套资料的价值不在于看完,而在于你能否把视频里的推导过程,变成自己键盘上能跑通且经得起性能测试的代码。


课程使用 Java 语言系统讲解了常用数据结构和算法,帮助学习者提升开发技能。

课程目录

*   01 算法分析/

  *   01 四种符号.mp4 (89.19 MB), 16:23

  *   02 运行时间抽象.mp4 (80.73 MB), 25:32

  *   03 递归思想介绍.mp4 (38.90 MB), 11:25

  *   04 递归时间评估.mp4 (18.88 MB), 05:45

  *   05 提高-数学归纳法和不好的递归.mp4 (42.80 MB), 12:31

  *   06 对数运行时间.mp4 (106.59 MB), 31:00

*   02 数组详解/

  *   01 数组的特点.mp4 (31.00 MB), 10:38

  *   02 数组实现需求(1).mp4 (43.96 MB), 13:14

  *   03 数组需求实现(2).mp4 (57.69 MB), 19:13

  *   04 数组实现需求(3).mp4 (36.85 MB), 10:32

  *   05 MyArray时间复杂度分析.mp4 (32.42 MB), 10:57

  *   06 MyArray使用场景.mp4 (15.50 MB), 04:48

  *   07 存储任何类型元素.mp4 (21.67 MB), 05:13

  *   08 和ArrayList的比较.mp4 (14.58 MB), 03:37

  *   09 迭代器实现.mp4 (54.11 MB), 14:55

*   03 链表详解/

  *   01 单链表的由来.mp4 (42.36 MB), 15:29

  *   02 定义和概念区分.mp4 (11.17 MB), 03:32

  *   03 find方法实现.mp4 (42.46 MB), 12:31

  *   04 findPosition方法实现.mp4 (23.34 MB), 06:47

  *   05 insert方法实现.mp4 (59.50 MB), 15:40

  *   06 LinkedData时间复杂度.mp4 (48.54 MB), 13:25

  *   07 尾结点提高效率.mp4 (54.11 MB), 11:59

  *   08 双向链表.mp4 (70.36 MB), 17:59

  *   09 链表使用场景.mp4 (39.29 MB), 10:04

  *   10 和LinkedList的比较.mp4 (17.35 MB), 04:00

  *   11 链表find方法修正.mp4 (17.39 MB), 03:44

*   04 栈详解/

  *   01 栈的概念.mp4 (14.94 MB), 04:26

  *   02 栈的实现.mp4 (10.00 MB), 03:31

  *   03 栈的用途(一).mp4 (30.22 MB), 09:18

  *   04 栈的用途(二).mp4 (34.57 MB), 10:21

*   05 队列详解/

  *   01 队列详解.mp4 (50.69 MB), 14:35

*   06 树详解/

  *   01 树的定义.mp4 (30.75 MB), 09:26

  *   02 树的概念.mp4 (19.93 MB), 05:45

  *   03 树的实现.mp4 (35.16 MB), 11:21

  *   04 二叉树的概念和实现.mp4 (27.53 MB), 08:37

  *   05 二叉查找树的概念.mp4 (19.85 MB), 06:01

  *   06 二叉查找树的insert方法.mp4 (113.94 MB), 33:35

  *   07 二叉查找树contains方法.mp4 (43.59 MB), 12:12

  *   08 二叉查找树的remove方法.mp4 (54.98 MB), 15:48

  *   09 二叉树的遍历逻辑.mp4 (36.25 MB), 12:46

  *   10 二叉树先序遍历实现.mp4 (85.98 MB), 23:33

  *   11 任意类型元素(二叉查找树).mp4 (11.82 MB), 03:53

*   07 散列表详解/

  *   01 散列表的由来.mp4 (18.86 MB), 05:14

  *   02 散列表重要参数.mp4 (30.95 MB), 08:11

  *   03 分离链表法代码编写.mp4 (120.41 MB), 31:15

  *   04 分离链接法时间复杂度分析.mp4 (41.51 MB), 12:44

  *   05 线性探测的定义和举例.mp4 (42.10 MB), 11:06

  *   06 线性探测时间复杂度分析.mp4 (44.73 MB), 11:57

  *   07 平方探测法和双散列介绍.mp4 (12.79 MB), 03:05

  *   08 HashMap流程讲解.mp4 (38.00 MB), 11:01

*   08 排序原理/

  *   01 冒泡排序过程和代码实现.mp4 (41.26 MB), 14:22

  *   02 插入排序的过程和代码实现.mp4 (44.29 MB), 13:53

  *   03 冒泡排序时间复杂度.mp4 (17.38 MB), 05:16

  *   04 插入排序时间复杂度分析.mp4 (48.58 MB), 13:56

  *   05 交换相邻元素系列算法下界分析.mp4 (7.51 MB), 02:31

  *   06 插入排序优化.mp4 (24.62 MB), 07:54

  *   07 希尔排序的过程和代码实现.mp4 (67.68 MB), 20:31

  *   08 希尔排序最差时间复杂度.mp4 (59.52 MB), 18:05

  *   09 归并排序分析和伪代码.mp4 (103.18 MB), 29:45

  *   10 归并排序的代码实现.mp4 (39.76 MB), 11:28

  *   11 归并排序时间复杂度分析.mp4 (77.42 MB), 21:15

  *   12 随机分割策略的归并排序.mp4 (34.78 MB), 10:29

  *   13 归并排序语言相关性.mp4 (13.01 MB), 04:22

  *   14 快速排序的基本思想.mp4 (50.74 MB), 15:14

  *   15 基本快排改进思路和伪代码.mp4 (34.61 MB), 10:46

  *   16 真正快排的过程逻辑讲解.mp4 (53.26 MB), 15:27

  *   17 真正快排代码实现.mp4 (64.91 MB), 18:00

  *   18 真正快排时间复杂度分析.mp4 (18.92 MB), 05:48

  *   19 桶排序.mp4 (32.98 MB), 09:19

  *   20 基数排序.mp4 (57.13 MB), 16:42

*   09 优先队列/

  *   01 模型和意义.mp4 (6.42 MB), 02:31

  *   02 简单的一些实现.mp4 (17.23 MB), 05:35

  *   03 二叉堆的两个性质.mp4 (17.91 MB), 05:47

  *   04 insert操作逻辑叙述.mp4 (14.21 MB), 04:31

  *   05 insert操作代码实现.mp4 (28.29 MB), 08:54

  *   06 deleteMin的逻辑叙述.mp4 (30.47 MB), 09:19

  *   07 堆的构建思路和逻辑.mp4 (53.60 MB), 16:35

  *   08 堆构建复杂度证明和代码实现.mp4 (26.01 MB), 08:18

  *   09 堆结构解决选择问题.mp4 (81.15 MB), 28:16

  *   10 多元函数极限定义补充(进阶).mp4 (29.78 MB), 09:02

  *   11 d-堆.mp4 (23.16 MB), 07:41

  *   12 左式堆.mp4 (40.48 MB), 13:00

*   10 动态规划/

  *   01 动态规划的定义和简单举例.mp4 (76.83 MB), 20:31

  *   02 二维动态规划问题描述.mp4 (17.81 MB), 05:36

  *   03 二维动态规划递推公式分析.mp4 (50.68 MB), 15:33

  *   04 二维递归实现.mp4 (41.60 MB), 12:27

  *   05 二维动态规划思路分析.mp4 (18.75 MB), 05:57

  *   06 二维动态规划代码编写.mp4 (47.86 MB), 13:49