本课程采用了MIT麻省理工学院的算法教学模式:“模板式教学”。如果没有模版就相当于汽车没有方向盘,只能盲目前行.学会了模版,让你清楚明确内容.算法大多数同学认为比较难以上手,其实没有你想象中的那么难,要的是你掌握核心,然后不断去刷题,相信你会有很大提高
课程目录
├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