这门课解决什么问题
很多做业务开发的 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






