├─00-学前须知
│ 01-为什么要学习数据结构与算法.mp4
│ 02-编程语言的选择.mp4
│ 03-课程大纲.mp4
│ 04-注意事项.mp4
│ 05-课程的选择.mp4
│
├─01-复杂度
│ 02-斐波那契数.mp4
│ 03-算法的评估.mp4
│ 04-时间复杂度的估算.mp4
│ 05-大O表示法.mp4
│ 06-斐波那契数复杂度分析.mp4
│ 07-leetcode.mp4
│
├─02-动态数组
│ 01-线性表.mp4
│ 02-接口设计.mp4
│ 03-简单接口的实现.mp4
│ 04-clear.mp4
│ 05-补充.mp4
│ 06-add.mp4
│ 07-打印.mp4
│ 08-remove.mp4
│ 09-add_index.mp4
│ 10-接口测试.mp4
│ 11-动态扩容.mp4
│ 12-泛型.mp4
│ 13-对象数组.mp4
│ 14-clear_细节.mp4
│ 15-remove_细节.mp4
│ 16-equals.mp4
│ 17-null值处理.mp4
│ 18-ArrayList源码分析.mp4
│ 19-答疑.mp4
│ 20-补充.mp4
│
├─03-链表
│ 01-简介.mp4
│ 02-接口设计.mp4
│ 03-clear.mp4
│ 04-add.mp4
│ 05-remove.mp4
│ 06-indexOf_toString.mp4
│ 07-练习01-删除节点.mp4
│ 08-练习02-反转链表01-递归.mp4
│ 09-练习02-反转链表02-迭代.mp4
│ 10-练习03-环形链表.mp4
│ 11-答疑.mp4
│ 12-补充.mp4
│ 13-虚拟头结点.mp4
│ 14-复杂度分析01-ArrayList.mp4
│ 15-复杂度分析02-LinkedList.mp4
│ 16-均摊复杂度.mp4
│ 17-ArrayList的缩容.mp4
│ 18-复杂度震荡.mp4
│ 19-双向链表01-简介.mp4
│ 20-双向链表02-clear.mp4
│ 21-双向链表03-add.mp4
│ 22-双向链表04-remove.mp4
│ 23-双向链表05-接口测试.mp4
│ 24-双向链表06-总结.mp4
│ 25-双向链表07-源码分析.mp4
│ 26-单向循环链表01-add.mp4
│ 27-单向循环链表02-remove.mp4
│ 28-单向循环链表03-接口测试_修复BUG.mp4
│ 29-双向循环链表01-add.mp4
│ 30-双向循环链表02-remove.mp4
│ 31-双向循环链表03-练习-约瑟夫问题.mp4
│ 32-静态链表.mp4
│ 33-ArrayList的优化思路.mp4
│
├─04-栈
│ 01-设计和实现.mp4
│ 02-应用举例.mp4
│ 03-练习-有效的括号01.mp4
│ 04-练习-有效的括号02.mp4
│ 05-练习-有效的括号03.mp4
│ 06-补充.mp4
│
├─05-队列
│ 01-设计和实现.mp
│ 02-练习-用栈实现队列.mp4
│ 03-Queue源码分析.mp4
│ 04-双端队列_Deque源码分析.mp
│ 05-循环队列01-实现.mp4
│ 06-循环队列02-测试_动态扩容.mp4
│ 07-循环队列03-索引映射封装.mp4
│ 08-循环双端队列01-实现.mp4
│ 09-循环双端队列02-测试.mp4
│ 10-循环双端队列03-模运算优化.mp4
│ 11-clear.mp4/
│
├─06-二叉树
│ 01-树.mp4
│ 02-二叉树及其性质.mp4
│ 03-真二叉树_满二叉树.mp4
│ 04-完全二叉树01-概念.mp4
│ 05-完全二叉树02-性质01.mp4
│ 06-完全二叉树03-性质02.mp4
│ 07-完全二叉树04-面试题.mp4
│ 08-完全二叉树05-公式总结.mp4
│ 09-国外教材.mp4
│
├─07-二叉搜索树
│ 01-需求分析.mp4
│ 02-概念_接口设计.mp4
│ 03-add01-根节点.mp4
│ 04-add02-思路.mp4
│ 05-add03-实现.mp4
│ 06-compare01-comparable.mp4
│ 07-compare02-comparator.mp4
│ 08-compare03-完美结合.mp4
│ 09-compare04-匿名类.mp4
│ 10-打印器01-使用.mp4
│ 11-打印器02-Person.mp4
│ 12-打印器03-更多用法.mp4
│ 13-打印器04-文件_建议.mp4
│ 14-网站推荐.mp4
│ 15-值相等的处理.mp4
│ 16-前序遍历.mp4
│ 17-中序遍历.mp4
│ 18-后序遍历.mp4
│ 19-层序遍历.mp4
│ 20-设计遍历接口.mp4
│ 21-增强遍历接口01.mp4
│ 22-增强遍历接口02.mp4
│ 23-树状打印二叉树.mp4
│ 24-练习01-计算二叉树的高度.mp4
│ 25-练习02-完全二叉树的判断01.mp4
│ 26-练习02-完全二叉树的判断02.mp4
│ 27-练习03-翻转二叉树.mp4
│ 28-重构二叉树.mp4
│ 29-前驱节点.mp4
│ 30-后继节点.mp4
│ 31-remove01-度为0_1的节点.mp4
│ 32-remove02-度为2的节点.mp4
│ 33-remove03-实现.mp4
│ 34-测试_完善接口.mp4
│ 35-代码重构.mp4
│ 36-答疑.mp4
│ 37-补充.mp4
│
├─08-AVL树
│ 01-二叉搜索树复杂度分析.mp4
│ 02-平衡二叉搜索树.mp4
│ 03-基本概念.mp4
│ 04-添加导致的失衡.mp4
│ 05-旋转01-LL_RR.mp4
│ 06-旋转02-LR_RL.mp4
│ 07-旋转03-总结.mp4
│ 08-afterAdd.mp4
│ 09-计算平衡因子.mp4
│ 10-更新高度.mp4
│ 11-恢复平衡.mp4
│ 12-旋转方向的判断.mp4
│ 13-补充.mp4
│ 14-左旋转的实现.mp4
│ 15-右旋转的实现.mp4
│ 16-示例.mp4
│ 17-统一旋转操作01.mp4
│ 18-统一旋转操作02.mp4
│ 19-删除导致的失衡.mp4
│ 20-删除后的平衡方案.mp4
│ 21-afterRemove.mp4
│ 22-总结.mp4
│ 23-补充.mp4
│
├─09-B树
│ 01-初识红黑树.mp4
│ 02-初识B树.mp4
│ 03-性质.mp4
│ 04-B树_二叉搜索树.mp4
│ 05-添加.mp4
│ 06-上溢的解决.mp4
│ 07-删除.mp4
│ 08-下溢的解决.mp4
│ 09-4阶B树.mp4
│ 10-补充.mp4
│
├─10-红黑树
│ 01-错误示范.mp4
│ 02-与4阶B树的等价变换.mp4
│ 03-辅助函数.mp4
│ 04-添加01.mp4
│ 05-添加02-情况分析.mp4
│ 06-添加03-black_uncle01-LL_RR.mp4
│ 07-添加04-black_uncle02-LR_RL.mp4
│ 08-添加05-red_uncle.mp4
│ 09-添加06-情况总结.mp4
│ 10-添加07-实现01-red_uncle.mp4
│ 11-添加08-实现02-black_uncle.mp4
│ 12-添加09-测试.mp4
│ 13-添加10-补充.mp4
│ 14-删除01-情况分析.mp4
│ 15-删除02-red_replacement01-分析.mp4
│ 16-删除03-red_replacement02-实现.mp4
│ 17-删除04-black_leaf01-根节点.mp4
│ 18-删除05-black_leaf02-black_sibling01.mp4
│ 19-删除06-black_leaf03-black_sibling02.mp4
│ 20-删除07-black_leaf04-red_sibling.mp4
│ 21-删除08-总结.mp4
│ 22-删除09-black_leaf05-实现01-red_sibling.mp4
│ 23-删除10-black_leaf06-实现02-black_sibling.mp4
│ 24-删除11-black_leaf07-对称处理.mp4
│ 25-删除12-测试.mp4
│ 26-删除13-去除replacement参数.mp4
│ 27-答疑.mp4
│ 28-总结.mp4
│ 29-平衡.mp4
│ 30-性能对比.mp4
│
├─11-集合
│ 01-简介.mp4
│ 02-ListSet.mp4
│ 03-TreeSet.mp4
│ 04-复杂度分析.mp4
│ 05-性能对比.mp4
│ 06-TreeSet的局限性.mp4
│
├─12-映射
│ 01-简介.mp4
│ 02-Node.mp4
│ 03-put.mp4
│ 04-get_remove.mp4
│ 05-contains.mp4
│ 06-traversal.mp4
│ 07-测试.mp4
│ 08-利用TreeMap实现TreeSet.mp4
│ 09-TreeMap_TreeSet源码分析.mp4
│ 10-补充.mp4
│ 11-代码量与性能.mp4
│
├─13-哈希表
│ 01-TreeMap复杂度分析.mp4
│ 02-初识哈希表.mp4
│ 03-哈希冲突.mp4
│ 04-JDK8的哈希冲突解决.mp4
│ 05-哈希函数.mp4
│ 06-哈希值计算01-int_float.mp4
│ 07-哈希值计算02-long_double.mp4
│ 08-哈希值计算03-字符串01.mp4
│ 09-哈希值计算04-字符串02.mp4
│ 10-哈希值计算05-总结.mp4
│ 11-哈希值计算06-自定义对象.mp4
│ 12-equals.mp4
│ 13-同时实现hashCode_equals.mp4
│ 14-不实现hashCode_equals.mp4
│ 15-只实现equals.mp4
│ 16-只实现hashCode.mp4
│ 17-答疑.mp4
│ 18-补充.mp4
│ 19-clear.mp4
│ 20-put.mp4
│ 21-compare01-基本处理.mp4
│ 22-compare02-其他情况.mp4
│ 23-compare03-分析测试.mp4
│ 24-get_containsKey.mp4
│ 25-remove.mp4
│ 26-containsValue_traversal.mp4
│ 27-发现问题.mp4
│ 28-打印红黑树.mp4
│ 29-分析问题.mp4
│ 30-回顾问题.mp4
│ 31-重写node01.mp4
│ 32-重写node02.mp4
│ 33-重写put01.mp4
│ 34-重写put02.mp4
│ 35-put优化.mp4
│ 36-node优化.mp4
│ 37-compareTo调整.mp4
│ 38-测试用例01.mp4
│ 39-测试用例02.mp4
│ 40-HashMap源码预览.mp4
│ 41-测试用例03.mp4
│ 42-bug修复.mp4
│ 43-代码演化01-简化put和node.mp4
│ 44-代码演化02-完善优化put和node.mp4
│ 45-代码演化03-增加comparable.mp4
│ 46-代码演化04-最后的比较策略.mp4
│ 47-node的hash值调整.mp4
│ 48-扩容01-装填因子.mp4
│ 49-扩容02-思路.mp4
│ 50-扩容03-实现.mp4
│ 51-扩容04-测试.mp4
│ 52-equals的规范.mp4
│ 53-TreeMap_HashMap.mp4
│ 54-取模运算_素数.mp4
│ 55-答疑.mp4
│ 56-LinkedHashMap01-创建节点.mp4
│ 57-LinkedHashMap02-串线_清空_遍历.mp4
│ 58-LinkedHashMap03-删除节点.mp4
│ 59-LinkedHashMap04-删除的bug.mp4
│ 60-LinkedHashMap05-修复bug.mp4
│ 61-HashSet_LinkedHashSet.mp4
│ 62-答疑.mp4
│ 63-LinkedHashMap_HashMap源码分析.mp4
│
├─14-二叉堆
│ 01-需求分析.mp4
│ 02-堆.mp4
│ 03-二叉堆.mp4
│ 04-基本接口实现.mp4
│ 05-add01-思路.mp4
│ 06-add02-实现.mp4
│ 07-打印调试.mp4
│ 08-优化.mp4
│ 09-抽取父类.mp4
│ 10-remove01-思路.mp4
│ 11-remove02-实现.mp4
│ 12-replace.mp4
│ 13-heapify01-自上而下的上滤.mp4
│ 14-heapify02-自下而上的下滤.mp4
│ 15-heapify03-效率对比.mp4
│ 16-heapify04-复杂度计算.mp4
│ 17-heapify05-答疑.mp4
│ 18-heapify06-实现.mp4
│ 19-小顶堆.mp4
│ 20-TopK面试题.mp4
│
├─15-优先级队列
│ 01-实现.mp4
│ 02-PriorityQueue源码分析.mp4
│
├─16-哈夫曼树
│ 01-需求分析.mp4
│ 02-构建哈夫曼树.mp4
│ 03-构建哈夫曼编码.mp4
│ `
├─17-Trie
│ 01-简介.mp4
│ 02-接口设计.mp4
│ 03-Node设计.mp4
│ 04-clear_get_contains.mp4
│ 05-add.mp4
│ 06-startsWith.mp4
│ 07-代码调整.mp4
│ 08-remove.mp4
│ 09-总结_bug修复.mp4
│
├─18-补充
│ 01-总结.mp4
│ 02-zig_zag_满二叉树_完全二叉树.mp4
│ 03-四则运算_表达式树.mp4
│ 04-非递归前序遍历01-思路.mp4
│ 05-非递归前序遍历02-实现.mp4
│ 06-非递归中序遍历.mp4
│ 07-非递归后序遍历01.mp4
│ 08-非递归后序遍历02.mp4
│ 09-非递归前序遍历的另一种思路.mp4
│ 10-答疑.mp4
│
└─资料
│ Vsualization.zip
│ 课件.zip
│
└─开发工具
├─Mac
│ eclipse-java-2018-12-R-macosx-cocoa-x86_64.dmg
│ jdk-8u201-macosx-x64.dmg
│
└─Windows
eclipse-java-2018-12-R-win32-x86_64.zip
jdk-8u201-windows-x64.exe