正版资源小mg-恋上数据结构与算法1-3季 全套教程+课件[完结]
课程定位与核心问题 本课程针对 Java 开发者普遍存在的“只会调用 API,不懂底层原理”的痛点,系统梳理数据结构与算法的落地实现。许多工程师在面对 TreeMap、PriorityQueue 等集合类时,仅知其然不知其所以然。课程从线性表出发,逐步深入到树、堆、哈希表,通过源码级的接口设计与 N
课程定位与核心问题
本课程针对 Java 开发者普遍存在的“只会调用 API,不懂底层原理”的痛点,系统梳理数据结构与算法的落地实现。许多工程师在面对 TreeMap、PriorityQueue 等集合类时,仅知其然不知其所以然。课程从线性表出发,逐步深入到树、堆、哈希表,通过源码级的接口设计与 Node 封装,揭示自平衡二叉树、红黑树及优先队列的内在逻辑。这不仅是算法学习,更是工程化思维的建立,帮助开发者将抽象数据结构转化为可维护、可复用的代码模块,从而在性能调优和系统设计时拥有更扎实的判断依据。
前置基础与学习路径建议
适合已掌握 Java 语法、具备面向对象编程经验的开发者。建议按以下顺序推进:首先完成环境搭建,熟悉工程规范;接着通过“线性表”与“栈实现队列”练习,巩固接口定义与节点操作;随后重点攻克“二叉搜索树”、“平衡二叉树”及“红黑树”,结合 TreeMap 复杂度分析理解自平衡机制;最后通过“堆”与 PriorityQueue 源码分析,打通理论到实践的最后一环。每一步都需配合代码实现,切勿只看不练。
实战产出与资料配合方式
学完后可独立实现 List、Set、Map 接口的基础版本,并手写出 AVL 树、红黑树及堆的核心逻辑。资料包中的课件与视频互为补充,观看时需暂停推导斐波那契、哈夫曼构建等关键步骤,并在本地复现 ListSet、Node 等模块代码。通过反复对照源码修改bug,将数据结构知识内化为工程能力,最终能够从容应对 Java 集合框架的深度面试,并在实际项目中根据场景选型最优数据结构,提升系统性能。
课程目录
课程目录318 集
- 01-为什么要学习数据结构与算法【】.mp4 23.84M
- 01-开发环境搭建.mp4 78.91M
- 01-线性表.mp4 12.39M
- 01-简介.mp4 25.84M
- 01-设计和实现.mp4 58.92M
- 01-设计和实现.mp4 31.76M
- 01-树【】.mp4 33.01M
- 01-需求分析【】.mp4 20.92M
- 01-二叉搜索树复杂度分析.mp4 20.88M
- 01-初识红黑树.mp4 32.06M
- 01-错误示范.mp4 35.46M
- 01-简介.mp4 11.35M
- 01-简介【】.mp4 17.31M
- 01-TreeMap复杂度分析.mp4 27.58M
- 01-需求分析【】.mp4 21.05M
- 01-实现.mp4 53.16M
- 01-需求分析【】.mp4 23.01M
- 01-简介.mp4 20.63M
- 01-总结.mp4 19.79M
- 02-编程语言的选择.mp4 5.58M
- 02-斐波那契数.mp4 58.60M
- 02-接口设计.mp4 41.27M
- 02-接口设计.mp4 72.93M
- 02-应用举例.mp4 29.06M
- 02-练习-用栈实现队列【】.mp4 46.97M
- 02-二叉树及其性质.mp4 26.78M
- 02-概念_接口设计.mp4 20.65M
- 02-平衡二叉搜索树.mp4 24.06M
- 02-初识B树【】.mp4 16.46M
- 02-与4阶B树的等价变换.mp4 22.25M
- 02-初识哈希表.mp4 15.91M
- 02-堆【】.mp4 19.73M
- 02-PriorityQueue源码分析.mp4 36.09M
- 02-构建哈夫曼树【】.mp4 19.68M
- 02-接口设计.mp4 24.33M
- 02-zig_zag_满二叉树_完全二叉树.mp4 18.42M
- 03-课程大纲.mp4 13.59M
- 03-算法的评估.mp4 28.65M
- 03-简单接口的实现.mp4 55.29M
- 03-练习-有效的括号01.mp4 39.59M
- 03-Queue源码分析【】.mp4 16.01M
- 03-真二叉树_满二叉树.mp4 13.48M
- 03-add01-根节点.mp4 27.61M
- 03-基本概念.mp4 26.49M
- 03-性质.mp4 32.32M
- 03-辅助函数.mp4 43.10M
- 03-哈希冲突.mp4 11.08M
- 03-二叉堆【】.mp4 18.25M
- 03-构建哈夫曼编码.mp4 35.77M
- 03-Node设计.mp4 52.94M
- 03-四则运算_表达式树【】.mp4 22.71M
- 04-注意事项.mp4 5.36M
- 04-时间复杂度的估算【】.mp4 38.60M
- 04-练习-有效的括号02.mp4 34.45M
- 04-双端队列_Deque源码分析.mp4 24.24M
- 04-完全二叉树01-概念【】.mp4 10.61M
- 04-add02-思路【】.mp4 16.75M
- 04-添加导致的失衡.mp4 18.57M
- 04-B树_二叉搜索树.mp4 20.52M
- 04-添加01.mp4 16.71M
- 04-复杂度分析【】.mp4 18.00M
- 04-JDK8的哈希冲突解决【】.mp4 26.88M
- 04-基本接口实现【】.mp4 23.69M
- 04-非递归前序遍历01-思路.mp4 49.89M
- 05-课程的选择【】.mp4 10.57M
- 05-大O表示法【】.mp4 62.84M
- 05-补充.mp4 56.21M
- 05-练习-有效的括号03.mp4 28.77M
- 05-循环队列01-实现.mp4 69.85M
- 05-完全二叉树02-性质01.mp4 28.67M
- 05-add03-实现.mp4 36.92M
- 05-旋转01-LL_RR【】.mp4 51.66M
- 05-添加.mp4 19.60M
- 05-添加02-情况分析.mp4 18.01M
- 05-性能对比.mp4 48.67M
- 05-哈希函数.mp4 32.07M
- 05-add01-思路.mp4 33.86M
- 05-非递归前序遍历02-实现【】.mp4 32.71M
- 06-斐波那契数复杂度分析【】.mp4 39.42M
- 06-补充.mp4 9.05M
- 06-循环队列02-测试_动态扩容.mp4 51.42M
- 06-完全二叉树03-性质02【】.mp4 13.20M
- 06-旋转02-LR_RL.mp4 15.07M
- 06-上溢的解决【】.mp4 19.26M
- 06-添加03-black_uncle01-LL_RR.mp4 36.09M
- 06-TreeSet的局限性.mp4 13.79M
- 06-哈希值计算01-int_float.mp4 29.56M
- 06-add02-实现.mp4 30.34M
- 06-非递归中序遍历.mp4 38.13M
- 07-打印【】.mp4 19.16M
- 07-练习01-删除节点.mp4 42.23M
- 07-循环队列03-索引映射封装.mp4 21.23M
- 07-完全二叉树04-面试题.mp4 15.47M
- 07-旋转03-总结.mp4 16.31M
- 07-删除.mp4 16.21M
- 07-添加04-black_uncle02-LR_RL.mp4 10.69M
- 07-测试.mp4 29.76M
- 07-哈希值计算02-long_double.mp4 36.24M
- 07-打印调试.mp4 22.87M
- 07-代码调整.mp4 45.45M
- 07-非递归后序遍历01.mp4 36.54M
- 08-练习02-反转链表01-递归.mp4 46.03M
- 08-循环双端队列01-实现.mp4 65.74M
- 08-完全二叉树05-公式总结.mp4 32.23M
- 08-compare03-完美结合.mp4 50.42M
- 08-下溢的解决【】.mp4 44.52M
- 08-添加05-red_uncle【】.mp4 45.27M
- 08-利用TreeMap实现TreeSet【】.mp4 40.74M
- 08-哈希值计算03-字符串01.mp4 24.85M
- 08-优化.mp4 30.31M
- 08-非递归后序遍历02.mp4 38.41M
- 09-练习02-反转链表02-迭代【】.mp4 33.92M
- 09-循环双端队列02-测试.mp4 40.96M
- 09-国外教材【】.mp4 6.21M
- 09-compare04-匿名类.mp4 23.64M
- 09-计算平衡因子.mp4 40.75M
- 09-4阶B树.mp4 13.91M
- 09-添加06-情况总结.mp4 15.57M
- 09-TreeMap_TreeSet源码分析.mp4 67.04M
- 09-哈希值计算04-字符串02.mp4 23.29M
- 09-抽取父类.mp4 22.66M
- 09-总结_bug修复.mp4 33.03M
- 09-非递归前序遍历的另一种思路.mp4 23.50M
- 10-接口测试【】.mp4 17.12M
- 10-练习03-环形链表.mp4 46.22M
- 10-循环双端队列03-模运算优化.mp4 70.20M
- 10-打印器01-使用.mp4 21.15M
- 10-更新高度.mp4 36.70M
- 10-补充.mp4 37.19M
- 10-添加07-实现01-red_uncle.mp4 28.84M
- 10-补充【】.mp4 18.75M
- 10-哈希值计算05-总结.mp4 20.16M
- 10-remove01-思路.mp4 35.66M
- 10-答疑.mp4 24.98M
- 11-动态扩容【】.mp4 61.86M
- 11-答疑.mp4 29.00M
- 11-打印器02-Person.mp4 35.00M
- 11-恢复平衡.mp4 39.30M
- 11-添加08-实现02-black_uncle.mp4 66.52M
- 11-代码量与性能【】.mp4 59.08M
- 11-哈希值计算06-自定义对象.mp4 57.00M
- 11-remove02-实现.mp4 67.25M
- 12-泛型【】.mp4 52.71M
- 12-补充.mp4 35.78M
- 12-打印器03-更多用法【】.mp4 32.31M
- 12-旋转方向的判断【】.mp4 42.10M
- 12-添加09-测试.mp4 44.16M
- 13-对象数组.mp4 36.03M
- 13-虚拟头结点.mp4 42.81M
- 13-打印器04-文件_建议.mp4 46.20M
- 13-补充【】.mp4 27.69M
- 13-添加10-补充.mp4 28.87M
- 13-同时实现hashCode_equals.mp4 32.21M
- 13-heapify01-自上而下的上滤.mp4 25.63M
- 14-clear_细节.mp4 63.55M
- 14-复杂度分析01-ArrayList【】.mp4 66.56M
- 14-网站推荐【】.mp4 17.90M
- 14-左旋转的实现【】.mp4 59.44M
- 14-删除01-情况分析.mp4 11.54M
- 14-不实现hashCode_equals.mp4 17.80M
- 14-heapify02-自下而上的下滤.mp4 39.73M
- 15-remove_细节【】.mp4 14.96M
- 15-复杂度分析02-LinkedList.mp4 40.58M
- 15-值相等的处理.mp4 29.14M
- 15-右旋转的实现【】.mp4 46.67M
- 15-删除02-red_replacement01-分析【】.mp4 17.97M
- 15-只实现equals.mp4 14.48M
- 15-heapify03-效率对比.mp4 21.07M
- 16-均摊复杂度【】.mp4 23.02M
- 16-前序遍历.mp4 44.03M
- 16-示例.mp4 13.46M
- 16-删除03-red_replacement02-实现.mp4 39.10M
- 16-只实现hashCode.mp4 19.95M
- 16-heapify04-复杂度计算【】.mp4 39.89M
- 17-null值处理.mp4 36.02M
- 17-ArrayList的缩容.mp4 56.76M
- 17-中序遍历.mp4 23.97M
- 17-统一旋转操作01.mp4 57.62M
- 17-删除04-black_leaf01-根节点.mp4 20.37M
- 17-答疑.mp4 37.71M
- 17-heapify05-答疑.mp4 18.17M
- 18-ArrayList源码分析.mp4 52.53M
- 18-复杂度震荡【】.mp4 30.81M
- 18-后序遍历【】.mp4 13.58M
- 18-统一旋转操作02【】.mp4 37.76M
- 18-删除05-black_leaf02-black_sibling01【】.mp4 53.32M
- 18-补充.mp4 37.79M
- 18-heapify06-实现.mp4 48.67M
- 19-答疑【】.mp4 27.01M
- 19-双向链表01-简介.mp4 45.84M
- 19-层序遍历.mp4 38.23M
- 19-删除导致的失衡.mp4 13.79M
- 19-删除06-black_leaf03-black_sibling02【】.mp4 36.87M
- 19-小顶堆.mp4 54.36M
- 20-补充.mp4 73.67M
- 20-双向链表02-clear【】.mp4 32.47M
- 20-设计遍历接口.mp4 48.26M
- 20-删除后的平衡方案【】.mp4 17.64M
- 20-删除07-black_leaf04-red_sibling.mp4 21.87M
- 20-TopK面试题.mp4 52.37M
- 21-KMP銆丅M銆並R銆丼unday.mp4 681.61M
- 21-双向链表03-add.mp4 100.16M
- 21-增强遍历接口01【】.mp4 38.24M
- 21-删除08-总结.mp4 31.20M
- 21-compare01-基本处理.mp4 60.65M
- 22-双向链表04-remove.mp4 30.86M
- 22-增强遍历接口02.mp4 68.41M
- 22-总结.mp4 25.61M
- 22-删除09-black_leaf05-实现01-red_sibling.mp4 68.35M
- 22-compare02-其他情况.mp4 21.12M
- 23-双向链表05-接口测试.mp4 42.01M
- 23-树状打印二叉树.mp4 32.68M
- 23-补充.mp4 33.68M
- 23-删除10-black_leaf06-实现02-black_sibling【】.mp4 80.00M
- 23-compare03-分析测试.mp4 56.51M
- 24-双向链表06-总结.mp4 27.55M
- 24-练习01-计算二叉树的高度.mp4 57.90M
- 24-删除11-black_leaf07-对称处理【】.mp4 33.08M
- 25-双向链表07-源码分析.mp4 51.28M
- 25-练习02-完全二叉树的判断01.mp4 57.70M
- 25-删除12-测试.mp4 32.05M
- 26-单向循环链表01-add.mp4 24.29M
- 26-练习02-完全二叉树的判断02.mp4 68.76M
- 26-删除13-去除replacement参数.mp4 102.01M
- 27-单向循环链表02-remove.mp4 25.65M
- 27-练习03-翻转二叉树.mp4 49.65M
- 27-答疑.mp4 26.45M
- 27-发现问题.mp4 32.31M
- 28-单向循环链表03-接口测试_修复BUG.mp4 55.72M
- 28-重构二叉树.mp4 49.80M
- 28-总结【】.mp4 78.07M
- 28-打印红黑树.mp4 42.33M
- 29-双向循环链表01-add【】.mp4 52.34M
- 29-前驱节点【】.mp4 66.35M
- 29-平衡.mp4 23.20M
- 29-分析问题.mp4 51.40M
- 30-双向循环链表02-remove【】.mp4 22.43M
- 30-后继节点【】.mp4 53.02M
- 30-性能对比【】.mp4 67.12M
- 30-回顾问题.mp4 49.69M
- 31-双向循环链表03-练习-约瑟夫问题.mp4 83.60M
- 31-remove01-度为0_1的节点【】.mp4 27.72M
- 31-重写node01.mp4 31.79M
- 32-静态链表【】.mp4 10.98M
- 32-remove02-度为2的节点【】.mp4 42.17M
- 32-重写node02.mp4 50.90M
- 33-ArrayList的优化思路.mp4 31.82M
- 33-remove03-实现.mp4 92.66M
- 33-重写put01【】.mp4 47.88M
- 34-测试_完善接口.mp4 35.08M
- 34-重写put02.mp4 39.29M
- 35-代码重构.mp4 52.97M
- 35-put优化【】.mp4 53.10M
- 36-答疑【】.mp4 9.82M
- 36-node优化【】.mp4 25.51M
- 37-补充.mp4 5.37M
- 37-compareTo调整.mp4 75.12M
- 38-测试用例01.mp4 39.27M
- 39-测试用例02.mp4 45.47M
- 40-HashMap源码预览【】.mp4 35.44M
- 41-测试用例03.mp4 29.72M
- 42-bug修复.mp4 40.40M
- 43-代码演化01-简化put和node【】.mp4 56.29M
- 44-代码演化02-完善优化put和node.mp4 46.60M
- 45-代码演化03-增加comparable.mp4 30.28M
- 46-代码演化04-最后的比较策略.mp4 31.10M
- 47-node的hash值调整【】.mp4 30.86M
- 48-扩容01-装填因子.mp4 31.86M
- 49-扩容02-思路.mp4 51.61M
- 50-扩容03-实现【】.mp4 61.07M
- 51-扩容04-测试【】.mp4 34.23M
- 52-equals的规范.mp4 51.81M
- 54-取模运算_素数.mp4 22.18M
- 55-答疑.mp4 18.76M
- 56-LinkedHashMap01-创建节点.mp4 47.66M
- 57-LinkedHashMap02-串线_清空_遍历.mp4 29.33M
- 58-LinkedHashMap03-删除节点.mp4 42.45M
- 59-LinkedHashMap04-删除的bug.mp4 61.00M
- 60-LinkedHashMap05-修复bug.mp4 52.43M
- 62-答疑.mp4 14.74M
- 63-LinkedHashMap_HashMap源码分析.mp4 71.06M
- 恋上数据结构与算法(第二季 24集全)
- 1.课件【】.zip 10.25M
- 2.visualization.zip 468.73kb
- 01冒泡、选择、堆排序.mp4 858.28M
- 02鎻掑叆鎺掑簭.mp4 836.77M
- 04快速、希尔排序.mp4 781.78M
- 05计数、基数、桶排序.mp4 772.57M
- 10KMP銆丅M銆並R銆丼unday.mp4 919.83M
- 12Dijkstra瀹屽杽銆丅ellman-Ford.mp4 1.17G
- 14.尾调用、尾递归、回溯【】.mp4 760.32M
- 15.剪枝、N皇后问题(1).mp4 906.62M
- 17大数乘法、动态规划初步.mp4 684.34M
- 18最大连续子序列和、最长上升子序列.mp4 725.12M
- 19最长公共子序列.mp4 561.29M
- 20最长公共子串、0-1背包问题.mp4 701.51M
- 22.布隆过滤器、B+树、B树.mp4 623.62M
- 恋上数据结构与算法(第三季 15集全)
- eclipse-java-2019-09-R-win32-x86_64.zip 201.32M
- eclipse-java-photon-R-win32.zip 195.01M
- 算法1-15.zip 6.27M
- 算法面试题.zip 374.38kb
- 百度、阿里、腾讯、京东等面试题01.mp4 833.25M
- 百度、阿里、腾讯、京东等面试题02.mp4 682.06M
- 百度、阿里、腾讯、京东等面试题03.mp4 735.01M
- 百度、阿里、腾讯、京东等面试题04.mp4 605.72M
- 百度、阿里、腾讯、京东等面试题05.mp4 638.85M
- 谷歌、微软、亚马逊等面试题01.mp4 1.38G
- 谷歌、微软、亚马逊等面试题02.mp4 1.20G
- 谷歌、微软、亚马逊等面试题03.mp4 306.15M
- 谷歌、微软、亚马逊等面试题04.mp4 361.15M
- 谷歌、微软、亚马逊等面试题05.mp4 444.29M
- 头条、美团、滴滴等面试题01.mp4 771.54M
- 头条、美团、滴滴等面试题02.mp4 762.59M
- 头条、美团、滴滴等面试题03.mp4 927.91M
- 头条、美团、滴滴等面试题04.mp4 822.69M
- 头条、美团、滴滴等面试题05.mp4 783.70M
- 恋上数据结构与算法(第一季 39课全)
- Visualization.zip 473.64kb
- 课件.zip 10.63M
- 小mg-恋上数据结构与算法一二三季 全套教程+课件[完结]/
- 课件 资料
- 1.课件【】.zip 1




