百战 大厂算法特训班课程介绍:
本课程创造性的采用源自MIT麻省理工学院的算法教学模式:“模板式教学”。记住:没有模板的算法学习,就是一盘散沙。算法的模板题是学习的关键。算法是想进大厂的最大门槛。
课程目录:
00-百战程序员 大厂算法特训班 ├─ 1、计算机基础知识 │ ├─ 10:计算机基础知识_相关面试题_顺时针打印矩阵_代码.mp4 │ ├─ 11:计算机基础知识_位运算的定义和常见的进制.mp4 │ ├─ 12:计算机基础知识_二进制与十进制.mp4 │ ├─ 13:计算机基础知识_二进制数和十进制数的互相转化.mp4 │ ├─ 14:计算机基础知识_通用的进制转换.mp4 │ ├─ 15:计算机基础知识_八进制及其转换.mp4 │ ├─ 16:计算机基础知识_十六进制及其转换.mp4 │ ├─ 17:位运算_位运算符和与运算.mp4 │ ├─ 18:位运算_或运算.mp4 │ ├─ 19:位运算_异或运算和取反运算.mp4 │ ├─ 1:算法的本质和为什么要学习算法.mp4 │ ├─ 20:位运算_原码.mp4 │ ├─ 21:位运算_反码.mp4 │ ├─ 22:补码及其求法.mp4 │ ├─ 23:位运算_补码的思想.mp4 │ ├─ 24:位运算_模和同余的概念.mp4 │ ├─ 25:位运算_补码的例子和定义.mp4 │ ├─ 26:位运算_补码溢出问题及其解决方法.mp4 │ ├─ 27:位运算_位运算的简单应用1.mp4 │ ├─ 28:位运算_位运算的简单应用2.mp4 │ ├─ 29:位运算_相关面试题_思路.mp4 │ ├─ 2:算法基础知识_计算机中的一维坐标系和二维坐标系.mp4 │ ├─ 30:位运算_相关面试题_代码.mp4 │ ├─ 3:计算机基础知识_四方向向量和八方向向量.mp4 │ ├─ 4:计算机基础知识_算法复杂度的定义.mp4 │ ├─ 5:计算机基础知识_什么是时间复杂度的频度.mp4 │ ├─ 6:计算机基础知识_时间复杂度的定义.mp4 │ ├─ 7:计算机基础知识_时间复杂度_真题讲解.mp4 │ ├─ 8:计算机基础知识_空间复杂度.mp4 │ └─ 9:计算机基础知识_相关面试题_顺时针打印矩阵_思路.mp4 ├─ 2、数据结构 │ ├─ 100:树形数据结构_二叉树的基本形态.mp4 │ ├─ 101:树形数据结构_二叉树的性质.mp4 │ ├─ 102:树形数据结构_树的遍历定义.mp4 │ ├─ 103:树形数据结构_树的深度优先搜索定义.mp4 │ ├─ 104:树形数据结构_树的宽度优先搜索定义.mp4 │ ├─ 105:树形数据结构_二叉树的前序遍历递归思路.mp4 │ ├─ 106:树型数据结构_二叉树的前序遍历递归代码.mp4 │ ├─ 107:树型数据结构_二叉树的前序遍历迭代思路.mp4 │ ├─ 108:树型数据结构_二叉树的前序遍历_迭代模拟过程.mp4 │ ├─ 109:树形数据结构_二叉树的前序遍历迭代代码.mp4 │ ├─ 10:递归_爬楼梯问题_思路.mp4 │ ├─ 110:树形数据结构_二叉树的前中后序遍历时间复杂度和空间复杂度分析.mp4 │ ├─ 111:树形数据结构_二叉树的中序遍历递归版.mp4 │ ├─ 112:树形数据结构_二叉树的中序遍历模拟.mp4 │ ├─ 113:树型数据结构_二叉树的中序遍历迭代代码java.mp4 │ ├─ 114:树形数据结构_二叉树的后序遍历_递归版java.mp4 │ ├─ 115:树型数据结构_二叉树的后序遍历_迭代思路.mp4 │ ├─ 116:树型数据结构_二叉树的后序遍历_迭代代码.mp4 │ ├─ 117:树形数据结构_二叉树的层序遍历介绍.mp4 │ ├─ 118:树形数据结构_二叉树的层序遍历思路.mp4 │ ├─ 119:树形数据结构_二叉树的层序遍历代码java.mp4 │ ├─ 11:递归_爬楼梯问题_实现.mp4 │ ├─ 120:树型数据结构_二叉树的垂序遍历介绍.mp4 │ ├─ 121:树型数据结构_二叉树的垂序遍历思路.mp4 │ ├─ 122:树型数据结构_二叉树的垂序遍历代码java.mp4 │ ├─ 123:树型数据结构_N叉树的遍历特点.mp4 │ ├─ 124:树形数据结构_N叉树的前序遍历介绍.mp4 │ ├─ 125:树形数据结构_N叉树的前序遍历_递归代码java.mp4 │ ├─ 126:树形数据结构_N叉树的前序遍历迭代思路.mp4 │ ├─ 127:树形数据结构_N叉树的前序遍历迭代代码.mp4 │ ├─ 128:树形数据结构_N叉树的后序遍历思路.mp4 │ ├─ 129:树形数据结构_N叉树的后序遍历_递归代码java.mp4 │ ├─ 12:递归_全排列问题_思路.mp4 │ ├─ 130:树形数据结构_N叉树的后序遍历_迭代代码java.mp4 │ ├─ 131:树形数据结构_N叉树的层序遍历思路.mp4 │ ├─ 132:树型数据结构_N叉树的层序遍历代码java.mp4 │ ├─ 133:树型数据结构_Trie树的定义.mp4 │ ├─ 134:树形数据结构_Trie的代码实现java.mp4 │ ├─ 135:树的介绍.mp4 │ ├─ 136:树的定义.mp4 │ ├─ 137:树的递归定义.mp4 │ ├─ 138:树的学术名词.mp4 │ ├─ 139:树的种类.mp4 │ ├─ 13:递归_全排列_代码.mp4 │ ├─ 140:二叉树的遍历_定义.mp4 │ ├─ 141:二叉树的前序遍历_递归_思路 + 代码(python).mp4 │ ├─ 142:二叉树的中序遍历_递归_思路 + 代码(python).mp4 │ ├─ 143:二叉树的后序遍历_递归_思路 + 代码(python).mp4 │ ├─ 144:二叉树前序遍历_迭代_代码(python).mp4 │ ├─ 145:二叉树的中序遍历_迭代_思路.mp4 │ ├─ 146:二叉树的中序遍历_迭代_代码(python).mp4 │ ├─ 147:二叉树的后续遍历_迭代_思路_代码(python).mp4 │ ├─ 148:二叉树的层序遍历_思路.mp4 │ ├─ 149:二叉树的层序遍历_代码(python).mp4 │ ├─ 14:递归_有重复数字的全排列_思路.mp4 │ ├─ 150:二叉树遍历的空间复杂度纠正.mp4 │ ├─ 151:哈希表_定义.mp4 │ ├─ 152:哈希表_基本概念.mp4 │ ├─ 153:哈希表_散列函数.mp4 │ ├─ 154:哈希表_处理哈希冲突常用方法.mp4 │ ├─ 155:哈希表_实现hashset思路.mp4 │ ├─ 156:哈希表_hashset实现.mp4 │ ├─ 157:哈希表_hashmap_思路.mp4 │ ├─ 158:哈希表_hashmap_实现.mp4 │ ├─ 15:递归_有重复数字的全排列_代码.mp4 │ ├─ 16:数据结构_二分的本质.mp4 │ ├─ 17:数据结构_二分模板的讲解.mp4 │ ├─ 18:数据结构_二分的相关问题_求x的平方根思路.mp4 │ ├─ 19:数据结构_二分的相关问题_求x的平方根代码Java.mp4 │ ├─ 1:递归的定义和应用条件.mp4 │ ├─ 20:数据结构_var的使用和数组.mp4 │ ├─ 21:整数二分_二分定义和模板.mp4 │ ├─ 22:整数二分_二分的本质.mp4 │ ├─ 23:整数二分_二分的第二个模板.mp4 │ ├─ 24:整数二分_为什么第二个模板要加1.mp4 │ ├─ 25:整数二分_二分的第一个模板.mp4 │ ├─ 26:整数二分_面试题_求一个数的平方根_思路.mp4 │ ├─ 27:整数二分_面试题_求一个数的平方根_代码实现.mp4 │ ├─ 28:整数二分_为什么这道题不能用第一个模板.mp4 │ ├─ 29:数据结构_链表_动态链表的定义.mp4 │ ├─ 2:递归思想的内涵(重要!).mp4 │ ├─ 30:数据结构_链表_单向链表_结构体的实现.mp4 │ ├─ 31:数据结构_链表_单向链表_结构体的实现C++.mp4 │ ├─ 32:数据结构_链表_单向链表_获取链表中某个节点的值.mp4 │ ├─ 33:数据结构_链表_单向链表_在链表的头结点前添加节点.mp4 │ ├─ 34:数据结构_链表_单向链表_在链表的尾节点后添加节点.mp4 │ ├─ 35:数据结构_链表_单向链表_在链表的第index个节点前添加元素.mp4 │ ├─ 36:数据结构_链表_单向链表_删除链表的第index个节点.mp4 │ ├─ 37:数据结构_链表_单向链表_单向链表的实现.mp4 │ ├─ 38:数据结构_链表_双向链表_双链表的思想.mp4 │ ├─ 39:数据结构_链表_双向链表_双链表获取某个节点的元素.mp4 │ ├─ 3:数学归纳法理解递归.mp4 │ ├─ 40:数据结构_链表_双向链表_在链表的头节点前添加节点.mp4 │ ├─ 41:数据结构_链表_双向链表_在链表的尾节点后添加节点.mp4 │ ├─ 42:数据结构_链表_双向链表_在第index节点前添加节点.mp4 │ ├─ 43:数据结构_链表_双向链表_删除第index个节点.mp4 │ ├─ 44:数据结构_链表_双向链表_双链表的实现.mp4 │ ├─ 45:数据结构的定义.mp4 │ ├─ 46:链表_动态链表的定义_动态链表和静态链表的区别.mp4 │ ├─ 47:链表_单链表_单链表的定义和基本操作.mp4 │ ├─ 48:链表_单链表_初始化单链表.mp4 │ ├─ 49:链表_单链表_获取单链表中第index个节点.mp4 │ ├─ 4:递归的三个要素.mp4 │ ├─ 50:链表_单链表_在第index个节点前添加节点.mp4 │ ├─ 51:链表_单链表_删除第index个节点.mp4 │ ├─ 52:链表_单链表_实现.mp4 │ ├─ 53:链表_双链表_双链表的定义.mp4 │ ├─ 54:链表_双链表_初始化双链表.mp4 │ ├─ 55:链表_双链表_获取双链表第index个节点.mp4 │ ├─ 56:链表_双链表_添加节点.mp4 │ ├─ 57:双链表_删除第index个节点.mp4 │ ├─ 58:链表_双链表_实现.mp4 │ ├─ 59:数据结构_栈的定义.mp4 │ ├─ 5:递归的两套模板.mp4 │ ├─ 60:数据结构_单调栈的概念.mp4 │ ├─ 61:数据结构_单调栈案例_接雨水.mp4 │ ├─ 62:数据结构_单调栈_接雨水的思路.mp4 │ ├─ 63:数据结构_单调栈_接雨水的代码实现.mp4 │ ├─ 64:数据结构_队列_队列的定义.mp4 │ ├─ 65:数据结构_队列_模拟队列.mp4 │ ├─ 66:数据结构_队列_单调队列_滑动窗口.mp4 │ ├─ 67:数据结构_队列_单调队列_滑动窗口思路.mp4 │ ├─ 68:数据结构_队列_单调队列_滑动窗口代码实现.mp4 │ ├─ 69:数据结构_队列_用栈实现队列思路.mp4 │ ├─ 6:递归和循环的区别.mp4 │ ├─ 70:数据结构_用栈实现队列代码实现.mp4 │ ├─ 71:数据结构_用队列实现栈思路.mp4 │ ├─ 72:数据结构_用队列实现栈代码.mp4 │ ├─ 73:栈_栈的定义.mp4 │ ├─ 74:栈_栈的基本操作.mp4 │ ├─ 75:栈_实现.mp4 │ ├─ 76:队列_队列的定义和基本操作.mp4 │ ├─ 77:队列_实现.mp4 │ ├─ 78:双端队列_定义.mp4 │ ├─ 79:双端队列_实现.mp4 │ ├─ 7:递归打印1-100.mp4 │ ├─ 80:树的介绍.mp4 │ ├─ 81:树的定义.mp4 │ ├─ 82:树的递归定义.mp4 │ ├─ 83:树的学术名词.mp4 │ ├─ 84:树的种类.mp4 │ ├─ 85:二叉树的遍历_定义.mp4 │ ├─ 86:二叉树的前序遍历_递归_思路 + 代码(C++).mp4 │ ├─ 87:二叉树的中序遍历_递归_思路 + 代码(C++).mp4 │ ├─ 88:二叉树的后序遍历_递归_思路 + 代码(C++).mp4 │ ├─ 89:二叉树前序遍历_迭代思路.mp4 │ ├─ 8:递归累加1-100.mp4 │ ├─ 90:二叉树的前序遍历_迭代版本的模拟过程.mp4 │ ├─ 91:二叉树前序遍历_迭代_代码(C++).mp4 │ ├─ 92:二叉树的中序遍历_迭代_思路.mp4 │ ├─ 93:二叉树的中序遍历_迭代_代码(C++).mp4 │ ├─ 94:二叉树的后续遍历_迭代_思路_代码(C++).mp4 │ ├─ 95:二叉树遍历的空间复杂度纠正.mp4 │ ├─ 96:树形数据结构_树的定义.mp4 │ ├─ 97:树形数据结构_树的递归定义和名词.mp4 │ ├─ 98:树形数据结构_树的种类.mp4 │ ├─ 99:树形数据结构.mp4 │ └─ 9:递归_求斐波那契数列的第n项.mp4 ├─ 3、排序算法 │ ├─ 10:桶排序_思路.mp4 │ ├─ 11:桶排序代码_实现(C++).mp4 │ ├─ 12:基数排序_思路.mp4 │ ├─ 13:基数排序_实现(C++).mp4 │ ├─ 14:快速排序_思路.mp4 │ ├─ 15:快速排序_实现(C++).mp4 │ ├─ 16:归并排序_思路.mp4 │ ├─ 17:归并排序_实现(C++).mp4 │ ├─ 18:堆排序_什么是数据结构堆.mp4 │ ├─ 19:堆排序_堆的基本知识和操作初识.mp4 │ ├─ 1:介绍十大经典排序算法.mp4 │ ├─ 20:堆排序_堆的核心操作_down操作和up操作_实现步骤.mp4 │ ├─ 21:堆排序_堆的其余操作_实现步骤.mp4 │ ├─ 22:堆排序_堆排序的思路和用到的操作.mp4 │ ├─ 23:堆排序_实现(C++).mp4 │ ├─ 24:基础算法大纲.mp4 │ ├─ 25:排序算法_什么是排序算法.mp4 │ ├─ 26:排序算法_算法的稳定性是什么.mp4 │ ├─ 27:排序算法_排序稳定性的好处.mp4 │ ├─ 28:排序算法_各排序的稳定性和时间空间复杂度.mp4 │ ├─ 29:排序算法_快速排序思路.mp4 │ ├─ 2:排序的定义.mp4 │ ├─ 30:排序算法_快速排序代码实现(Java).mp4 │ ├─ 31:排序算法_快速排序代码的一点补充(Java).mp4 │ ├─ 32:排序算法_快速排序稳定性分析.mp4 │ ├─ 33:排序算法_归并排序定义.mp4 │ ├─ 34:排序算法_归并排序的思路.mp4 │ ├─ 35:排序算法_归并排序代码实现(Java).mp4 │ ├─ 36:排序算法_归并排序稳定性分析.mp4 │ ├─ 37:排序算法_堆排序是什么.mp4 │ ├─ 38:排序算法_堆的定义和小根堆的定义.mp4 │ ├─ 39:排序算法_小根堆的下移操作(down操作).mp4 │ ├─ 3:十大排序的分类和排序算法的稳定性.mp4 │ ├─ 40:排序算法_小根堆的上移操作(up操作).mp4 │ ├─ 41:排序算法_小根堆的五个操作的实现思路.mp4 │ ├─ 42:排序算法_堆排序的基本思路.mp4 │ ├─ 43:排序算法_堆排序的建堆方式和时间复杂度证明.mp4 │ ├─ 44:排序算法_down操作实现思路和时间复杂度分析.mp4 │ ├─ 45:排序算法_堆排序_堆排序代码实现(java).mp4 │ ├─ 46:排序算法_堆排序_稳定性分析.mp4 │ ├─ 47:介绍十大经典排序算法.mp4 │ ├─ 48:排序的定义.mp4 │ ├─ 49:十大排序的分类和排序算法的稳定性.mp4 │ ├─ 4:冒泡排序的思路.mp4 │ ├─ 50:冒泡排序的思路.mp4 │ ├─ 51:冒泡排序_实现(python).mp4 │ ├─ 52:选择排序_思路.mp4 │ ├─ 53:选择排序_实现(python).mp4 │ ├─ 54:插入排序_思路.mp4 │ ├─ 55:插入排序_代码实现(python).mp4 │ ├─ 56:希尔排序_思路.mp4 │ ├─ 57:希尔排序_实现(python).mp4 │ ├─ 58:计数排序_思路.mp4 │ ├─ 59:计数排序_实现(python).mp4 │ ├─ 5:冒泡排序_实现(C++).mp4 │ ├─ 60:快速排序_思路.mp4 │ ├─ 61:快速排序_实现(Python).mp4 │ ├─ 62:归并排序_思路.mp4 │ ├─ 63:归并排序_代码(python).mp4 │ ├─ 64:堆排序_什么是数据结构堆.mp4 │ ├─ 65:堆排序_堆的基本知识和操作初识.mp4 │ ├─ 66:堆排序_堆的核心操作_down操作和up操作_实现步骤.mp4 │ ├─ 67:堆排序_堆的其余操作_实现步骤.mp4 │ ├─ 68:堆排序_堆排序的思路和用到的操作.mp4 │ ├─ 69:堆排序_实现(python).mp4 │ ├─ 6:选择排序_思路.mp4 │ ├─ 7:选择排序_实现(C++).mp4 │ ├─ 8:插入排序_思路.mp4 │ └─ 9:插入排序_代码实现(C++).mp4 ├─ 4、前缀和与差分 │ ├─ 10:前缀和算法_二位前缀和_代码测试(C++).mp4 │ ├─ 11:前缀和算法_二维前缀和_实时效果反馈和总结.mp4 │ ├─ 12:讲算法前的一些话(一定要听).mp4 │ ├─ 13:前缀和算法_一维前缀和的定义和实现思路.mp4 │ ├─ 14:前缀和算法_一维前缀和模板(Java).mp4 │ ├─ 15:前缀和算法_一维前缀和面试题_和为k的子数组思路.mp4 │ ├─ 16:前缀和算法_一维前缀和面试题_和为k的子数组代码(Java).mp4 │ ├─ 17:前缀和算法_二位前缀和如何求子区间的和.mp4 │ ├─ 18:前缀和算法_二维前缀和求前缀和数组.mp4 │ ├─ 19:前缀和算法_二位前缀和模板问题代码(Java).mp4 │ ├─ 1:讲算法前的一些话(一定要听).mp4 │ ├─ 20:前缀和算法_二维前缀和_实时效果反馈和总结.mp4 │ ├─ 21:差分算法_一维差分_一维差分的定义.mp4 │ ├─ 22:差分算法_一维差分_一维差分的实现_思路.mp4 │ ├─ 23:差分算法_差分模板实现(C++).mp4 │ ├─ 24:差分算法_差分代码测试(C++).mp4 │ ├─ 25:差分算法_二维差分的定义.mp4 │ ├─ 26:差分算法_二维差分的核心操作思路.mp4 │ ├─ 27:差分算法_构造差分数组的新思路和旧思路.mp4 │ ├─ 28:差分算法_二维差分_差分模板题讲解(C++).mp4 │ ├─ 29:差分算法_一维差分_一维差分的定义.mp4 │ ├─ 2:前缀和算法_一维前缀和的定义和实现思路.mp4 │ ├─ 30:差分算法_一维差分_一维差分的实现.mp4 │ ├─ 31:差分算法_一维差分模板问题实现(Java).mp4 │ ├─ 32:差分算法_二维差分的定义.mp4 │ ├─ 33:差分算法_二维差分的核心操作思路.mp4 │ ├─ 34:差分算法_构造差分数组的新思路和旧思路.mp4 │ ├─ 35:差分算法_二维差分模板题代码实现(Java).mp4 │ ├─ 36:差分算法_二为差分模板题构造差分数组的另一种方法代码实现(Java).mp4 │ ├─ 3:前缀和算法_一维前缀和模板_代码实现(C++).mp4 │ ├─ 4:前缀和算法_一维前缀和面试题_和为k的子数组思路.mp4 │ ├─ 5:前缀和算法_一维前缀和面试题_和为k的子数组代码(C++).mp4 │ ├─ 6:前缀和算法_二位前缀和如何求子区间的和.mp4 │ ├─ 7:前缀和算法_二维前缀和求前缀和数组.mp4 │ ├─ 8:前缀和算法_二位前缀和模板问题_思路(C++).mp4 │ └─ 9:前缀和算法_二维前缀和_模板题代码实现(C++).mp4 ├─ 5、并查集算法 │ ├─ 1:并查集算法_什么是并查集和作用.mp4 │ ├─ 2:并查集算法_为什么暴力合并会导致时间和空间过高.mp4 │ ├─ 3:并查集算法_并查集的初始化.mp4 │ ├─ 4:并查集算法_并查集的朴素查找操作.mp4 │ ├─ 5:并查集算法_并查集的合并操作.mp4 │ ├─ 6:并查集算法_路径压缩-查找算法的优化.mp4 │ ├─ 7:并查集算法效果反馈.mp4 │ ├─ 8:并查集算法题目理解.mp4 │ └─ 9:并查集算法_并查集题目代码实现(Java).mp4 ├─ 6、高精度算法(大数加减乘除) │ ├─ 10:高精度算法_高精度减法_代码实现2(C++).mp4 │ ├─ 11:高精度算法_高精度减法_测试(C++).mp4 │ ├─ 12:高精度算法_高精度减法_测试(C++).mp4 │ ├─ 13:高精度算法_高精度乘法_高精度乘法思路1.mp4 │ ├─ 14:高精度算法_高精度乘法_高精度乘法思路2.mp4 │ ├─ 15:高精度算法_高精度乘法_代码实现(C++).mp4 │ ├─ 16:高精度算法_高精度乘法_测试(C++).mp4 │ ├─ 17:高精度算法_高精度除法的思路和核心代码公式.mp4 │ ├─ 18:高精度算法_高精度除法_代码实现(C++).mp4 │ ├─ 19:高精度算法_高精度除法_测试(C++).mp4 │ ├─ 1:高精度算法(大数算法)_什么是高精度算法.mp4 │ ├─ 20:高精度算法(大数算法)_什么是高精度算法.mp4 │ ├─ 21:高精度算法_高精度加法的思路.mp4 │ ├─ 22:高精度算法_高精度加法课堂反馈.mp4 │ ├─ 23:高精度算法_高精度加法代码实现(Java).mp4 │ ├─ 24:高精度算法_高精度加法原地修改代码实现(仅Java).mp4 │ ├─ 25:高精度算法_高精度减法的第一个操作_比较两数大小的思路.mp4 │ ├─ 26:高精度算法_高精度减法的第二个操作_减法实现和特殊情况.mp4 │ ├─ 27:高精度算法_高精度减法代码实现(Java).mp4 │ ├─ 28:高精度算法_高精度减法原地修改代码实现(仅Java).mp4 │ ├─ 29:高精度算法_高精度减法_高精度减法实现小数减大数代码实现(Java).mp4 │ ├─ 2:高精度算法_高精度加法的思路.mp4 │ ├─ 30:高精度算法_高精度乘法_高精度乘法思路1.mp4 │ ├─ 31:高精度算法_高精度乘法_高精度乘法思路2.mp4 │ ├─ 32:高精度算法_高精度乘法代码实现(Java).mp4 │ ├─ 33:高精度算法_高精度乘法原地修改代码实现(仅Java).mp4 │ ├─ 34:高精度算法_高精度除法的思路和核心代码公式.mp4 │ ├─ 35:高精度算法_高精度除法代码实现(Java).mp4 │ ├─ 3:高精度算法_高精度加法课堂反馈.mp4 │ ├─ 4:高精度算法_高精度加法实现1(C++).mp4 │ ├─ 5:高精度算法_高精度加法_代码实现2(C++).mp4 │ ├─ 6:高精度加法_大数加法代码测试(C++).mp4 │ ├─ 7:高精度算法_高精度减法的第一个操作_比较两数大小的思路.mp4 │ ├─ 8:高精度算法_高精度减法的第二个操作_减法实现和特殊情况.mp4 │ └─ 9:高精度算法_高精度减法_代码实现1(C++).mp4 ├─ 7、图论算法基础 │ ├─ 10:图论_连通图_连通图的定义.mp4 │ ├─ 11:图论_连通图_连通分量的定义.mp4 │ ├─ 12:图论_连通图_强连通图和强连通分量.mp4 │ ├─ 13:图论_连通图_弱连通图和单项连通图的定义.mp4 │ ├─ 14:图论_判断图是否是强连通图,弱连通图还是单项连通图思路.mp4 │ ├─ 15:判断是否是强连通图、弱连通图还是单项连通图的代码_实现.mp4 │ ├─ 16:图论_生成树_生成树的定义.mp4 │ ├─ 17:图论_生成树_最小生成树的定义.mp4 │ ├─ 18:图论_图论概述.mp4 │ ├─ 19:图论_有向图的定义.mp4 │ ├─ 1:图论_图论概述.mp4 │ ├─ 20:图论_邻接表构建有向图思路.mp4 │ ├─ 21:图论_邻接矩阵构建有向图思路.mp4 │ ├─ 22:图论_有向图课后反馈.mp4 │ ├─ 23:图论_无向图的定义.mp4 │ ├─ 24:图论_邻接表构建无向图思路.mp4 │ ├─ 25:图论_邻接矩阵构建无向图的思路.mp4 │ ├─ 26:图论_连通图_连通图的定义.mp4 │ ├─ 27:图论_连通图_连通分量的定义.mp4 │ ├─ 28:图论_连通图_强连通图和强连通分量.mp4 │ ├─ 29:图论_连通图_弱连通图和单项连通图的定义.mp4 │ ├─ 2:图论_有向图的定义.mp4 │ ├─ 30:图论_判断图是否是强连通图,弱连通图还是单项连通图思路.mp4 │ ├─ 31:图论_判断图是否为强连通图,弱连通图,单项连通图代码实现(Java).mp4 │ ├─ 32:图论_生成树_生成树的定义.mp4 │ ├─ 33:图论_生成树_最小生成树的定义.mp4 │ ├─ 34:图论_拓扑排序_什么是拓扑排序(拓扑序列).mp4 │ ├─ 35:图论_拓扑排序_拓扑排序的思路.mp4 │ ├─ 36:图论_邻接表_邻接表的实现方式.mp4 │ ├─ 37:图论_数组模拟邻接表(链式前向星).mp4 │ ├─ 38:图论_拓扑排序_数组模拟邻接表和数组模拟队列实现拓扑序列_代码实现1(C++).mp4 │ ├─ 39:图论_拓扑排序_数组模拟邻接表和数组模拟队列实现拓扑序列_代码实现2(C++).mp4 │ ├─ 3:图论_邻接表构建有向图思路.mp4 │ ├─ 40:图论_拓扑排序_数组模拟邻接表和数组模拟队列实现拓扑序列_代码测试(C++).mp4 │ ├─ 41:图论_拓扑排序_拓扑排序相关面试题_课程表思路讲解.mp4 │ ├─ 42:图论_拓扑排序_面试题课程表_代码实现(C++).mp4 │ ├─ 43:图论_拓扑排序_效果反馈.mp4 │ ├─ 44:图论_拓扑排序_什么是拓扑排序(拓扑序列).mp4 │ ├─ 45:图论_拓扑排序_拓扑排序的思路.mp4 │ ├─ 46:图论_邻接表_邻接表的实现方式.mp4 │ ├─ 47:图论_数组模拟邻接表(链式前向星).mp4 │ ├─ 48:图论_拓扑排序的代码实现1_用数组模拟邻接表和用数组模拟队列实现(Java).mp4 │ ├─ 49:图论_STL,容器模拟邻接表的方式.mp4 │ ├─ 4:图论_邻接矩阵构建有向图思路.mp4 │ ├─ 50:图论_拓扑排序_拓扑排序的代码实现2_用容器实现邻接表的方式(Java).mp4 │ ├─ 51:图论_拓扑排序_拓扑排序相关面试题_课程表思路讲解.mp4 │ ├─ 52:图论_拓扑排序_拓扑排序相关面试题_课程表代码实现(Java).mp4 │ ├─ 53:图论_拓扑排序_效果反馈.mp4 │ ├─ 5:图论_有向图课后反馈.mp4 │ ├─ 6:图论_有向图课后反馈.mp4 │ ├─ 7:图论_无向图的定义.mp4 │ ├─ 8:图论_邻接表构建无向图思路.mp4 │ └─ 9:图论_邻接矩阵构建无向图的思路.mp4 ├─ 8、图论算法提高 │ ├─ 10:图论_单源最短路径算法_Bellman Ford算法的变量定义和初始化的操作.mp4 │ ├─ 11:图论_单源最短路径算法_Bellman Ford算法_松弛操作的伪代码思路讲解。.mp4 │ ├─ 12:图论_单源最短路径算法_Bellman Ford算法过程_准备工作.mp4 │ ├─ 13:图论_单源最短路径算法_Bellman Ford算法_第一轮松弛操作步骤.mp4 │ ├─ 14:图论_单源最短路径算法_Bellman Ford算法过程_第二次松弛操作和最终结果.mp4 │ ├─ 15:图论_单源最短路径算法_Bellman Ford算法找负权回路的过程.mp4 │ ├─ 16:图论_单源最短路径算法_Bellman Ford算法_为什么要迭代n - 1次.mp4 │ ├─ 17:图论_Bellman Ford效果反馈和面试时如何考察Bellman Ford算法.mp4 │ ├─ 18:图论_单源最短路径算法_Bellman Ford算法相关问题.mp4 │ ├─ 19:图论_单源最短路径算法_Bellman Ford算法实现1(Java).mp4 │ ├─ 1:图论_单源最短路算法_Dijkstra算法的定义.mp4 │ ├─ 20:图论_单源最短路径算法_Bellman Ford算法实现2(Java).mp4 │ ├─ 21:图论_单源最短路径算法_Bellman Ford算法_代码测试(Java).mp4 │ ├─ 22:图论_单源最短路径_SPFA(Shortest Path First Algorithm)_Bellman Ford算法的优化_思路.mp4 │ ├─ 23:图论_单源最短路径算法_SPFA_BFS更新点的思路.mp4 │ ├─ 24:图论_单源最短路径算法_SPFA_相关例题.mp4 │ ├─ 25:图论_单源最短路径算法_SPFA_全局变量的设定(Java).mp4 │ ├─ 26:图论_单源最短路径算法_SPFA_邻接表法实现和main输入输出实现(Java).mp4 │ ├─ 27:图论_单源最短路径算法_SPFA_SPFA实现(Java).mp4 │ ├─ 28:图论_单源最短路径算法_SPFA_算法检测(Java).mp4 │ ├─ 29:图论_单源最短路径算法_SPFA求负权回路的思路.mp4 │ ├─ 2:图论_单源最短路径算法_Dijkstra算法的思路准备过程.mp4 │ ├─ 30:图论_单源最短路径算法_SPFA求负权回路的思路.mp4 │ ├─ 31:图论_单源最短路径算法_SPFA判断负权回路代码(Java).mp4 │ ├─ 32:图论_单源最短路径算法_SPFA判断负权回路测试(Java).mp4 │ ├─ 33:图论_单源最短路径算法_Bellman Ford树算法和SPF优化后的时间复杂度分析.mp4 │ ├─ 34:图论_多源最短路径算法_Floyd算法介绍.mp4 │ ├─ 35:图论_多源最短路径算法_Floyd算法核心代码详解.mp4 │ ├─ 36:图论_多源最短路径问题_Floyd相关问题.mp4 │ ├─ 37:图论_多源最短路问题_Floyd问题实现1(Java).mp4 │ ├─ 38:图论_多源最短路径问题_Floyd问题实现2(Java).mp4 │ ├─ 39:多源最短路问题_Floyd算法测试(Java).mp4 │ ├─ 3:图论_单源最短路径算法_Dijkstra算法的思路和步骤.mp4 │ ├─ 40:图论_最小生成树问题_Prim算法简介.mp4 │ ├─ 41:图论_最小生成树问题_Prim算法过程.mp4 │ ├─ 42:图论_最小生成树算法_Prim算法代码思路.mp4 │ ├─ 43:图论_最小生成树_Prim算法_代码实现1(Java).mp4 │ ├─ 44:图论_最小生成树_prim算法实现2(Java).mp4 │ ├─ 45:图论_最小生成树_prim算法测试(Java).mp4 │ ├─ 4:图论_单元最短路径算法_Dijkstra算法总结.mp4 │ ├─ 5:图论_单源最短路径算法_Dijkstra模板题讲解和思路.mp4 │ ├─ 6:图论_单元最短路径算法_Dijkstra算法模板题代码实现1(Java).mp4 │ ├─ 7:图论_单源最短路径算法_Dijkstra算法模板题代码实现2(Java).mp4 │ ├─ 8:图论_单源最短路径算法_Bellman Ford算法的优点.mp4 │ └─ 9:图论_单元最短路径算法_Dijkstra算法为什么处理不了负权边的问题的案例.mp4 └─ 9、动态规划基础 ├─ 10:动态规划_01背包问题_记忆化搜索版本代码实现(不要求掌握)(C++).mp4 ├─ 11:动态规划_完全背包问题经典例子讲解.mp4 ├─ 12:动态规划_完全背包问题例子代码实现(Java).mp4 ├─ 13:动态规划_完全背包问题的第一层优化.mp4 ├─ 14:动态规划_完全背包问题的第二次优化.mp4 ├─ 15:动态规划_完全背包问题_最终优化版代码实现(Java).mp4 ├─ 16:动态规划_完全背包问题_最终代码测试(Java).mp4 ├─ 17:动态规划_多重背包问题_多重背包问题例子讲解.mp4 ├─ 18:动态规划_多重背包问题_朴素版代码实现(Java).mp4 ├─ 19:动态规划_多重背包问题_朴素版代码测试(Java).mp4 ├─ 1:动态规划_再讲动态规划之前的话(一定要听).mp4 ├─ 20:动态规划_多重背包问题_第二个朴素实现方法_死拆为01背包问题_思路讲解.mp4 ├─ 21:动态规划_多重背包问题_死拆为01背包的代码实现(Java).mp4 ├─ 22:动态规划_多重背包问题_死拆为01背包的代码测试(Java).mp4 ├─ 23:动态规划_多重背包问题_决策学优化多重背包问题的思路.mp4 ├─ 24:动态规划_多重背包问题_最终优化版代码实现(Java).mp4 ├─ 25:动态规划_多重背包问题_最终优化版代码测试(Java).mp4 ├─ 26:动态规划_多重背包问题_最终优化版代码测试(Java).mp4 ├─ 27:动态规划_多重背包问题的补充.mp4 ├─ 28:动态规划_分组背包问题_思路.mp4 ├─ 29:动态规划_分组背包问题_代码(Java).mp4 ├─ 2:动态规划_动态规划的基本定义和认知.mp4 ├─ 3:动态规划_解决动态规划问题的过程.mp4 ├─ 4:动态规划_背包问题的介绍.mp4 ├─ 5:动态规划_01背包问题经典例子思路讲解.mp4 ├─ 6:动态规划_01背包问题经典例子代码实现(C++).mp4 ├─ 7:动态规划_01背包问题优化_二维优化一维的思想.mp4 ├─ 8:动态规划_01背包问题优化_一维状态枚举的思想和最终的状态方程.mp4 └─ 9:动态规划_01背包问题优化_代码实现(C++).mp4 ├─ 10、动态规划提高 │ ├─ 10:动态规划_数位统计动态规划_计数问题讲解.mp4 │ ├─ 11:动态规划_数位统计动态规划_思路讲解.mp4 │ ├─ 12:动态规划_数位统计动态规划_思路讲解2.mp4 │ ├─ 13:动态规划_数位动态规划_代码实现1(Java).mp4 │ ├─ 14:动态规划_数位统计动态规划_代码实现2(Java).mp4 │ ├─ 15:动态规划_数位统计动态规划_测试和debug(Java).mp4 │ ├─ 1:动态规划_线性动态规划_经典例子_数字三角形问题.mp4 │ ├─ 2:动态规划_线性动态规划_经典例题讲解_思路.mp4 │ ├─ 3:动态规划_线性动态规划_数字三角形代码实现(Java).mp4 │ ├─ 4:动态规划_线性动态规划_数字三角形代码的补充(Java).mp4 │ ├─ 5:动态规划_线性动态规划_数字三角形代码测试(Java).mp4 │ ├─ 6:动态规划_区间动态规划_基本定义.mp4 │ ├─ 7:动态规划_区间动态规划_经典例题石子合并讲解.mp4 │ ├─ 8:动态规划_区间动态规划_石子合并问题思路总结.mp4 │ └─ 9:动态规划_区间动态规划_石子合并_代码实现(Java).mp4