ACM大牛带你玩转算法与数据结构
该套课程为视频课程,共 254 节课。
课程目录:
1 学算法,你真的需要一个领路人 2 【试听】链表:代码演示 3 【试听】二分算法:数组和函数的关系 4 【试听】为什么要学习算法与数据结构 5 【试听】第十讲:树的颜色-HZOJ-257 6 【试听】HZOJ-186-弹簧板 7 【试听】HZOJ-236-递归实现组合型枚举 8 【试听】第一讲:八皇后问题-P1219-算法设计 9 【试听】链表:结构讲解 10 1.课程导学 11 2.为什么要学算法与数据结构 12 3.重点:数据结构与算法的学习方法 13 4.为什么要学复杂度的分析方法(上) 14 5.为什么要学复杂度的分析方法(下) 15 1.递归函数的设计技巧 16 2.【题目讲解】HZOJ-184-路飞吃桃 17 3.【题目讲解】HZOJ-186-弹簧板 18 4.【题目讲解】HZOJ-235-递归实现指数型枚举 19 5.【题目讲解】HZOJ-236-递归实现组合型枚举 20 6.【题目讲解】HZOJ-237-递归实现排列型枚举 21 7.【题目讲解】HZOJ-239-不规则的街道 22 1.顺序表:结构讲解 23 2.顺序表:代码演示 24 3.顺序表:扩容操作 25 4.链表:结构讲解 26 5.链表:代码演示 27 6.链表:花式查找操作的实现 28 7.链表:用有头链表改写插入操作 29 8.循环链表和双向链表 30 9.反转链表:Leetcode-206 31 10.环形链表:Leetcode-141 32 11.快乐数:Leetcode-202 33 12.旋转链表:Leetcode-61 34 13.删除链表倒数第 N 个节点:Leetcode-19 35 14.环形链表Ⅱ:Leetcode-142 36 15.反转链表Ⅱ:Leetcode-92 37 1.队列:结构讲解 38 2.队列:顺序表的实现 39 3.队列:链表的实现 40 4.栈:结构讲解 41 5.栈:代码演示 42 6.括号匹配:Leetcode-20 43 7.思维突破:栈的深入理解 44 8.程序调用关系:HZOJ-595 45 9.2020年408第41题:HZOJ-838 46 10.比较含退格的字符串:Leetcode-844 47 11.火车进站:HZOJ-263 48 12.验证栈序列:Leetcode-946 49 13.括号画家: HZOJ-265 50 14.设计循环队列: Leetcode-622 51 15.【解题思路】表达式求值 HZOJ-266 52 16.【代码演示】表达式求值 HZOJ-266 53 1.计算机中的树形结构 54 2.广度遍历与深度遍历 55 3.二叉树:结构讲解 56 4.二叉树:代码演示 57 5.二叉树:遍历与线索化(上) 58 6.二叉树:遍历与线索化(下) 59 7.二叉树与广义表(上) 60 8.二叉树与广义表(下) 61 9.【代码演示】广义表转二叉树 62 10.定长编码与变长编码 63 11.最优变长编码:哈夫曼编码 64 12.哈夫曼编码最优性证明 65 13.【代码演示】哈夫曼编码 66 14.N叉树的前序遍历:Leetcode-589 67 15.从前序与中序构造二叉树:Leeetcode-105 68 16.二叉树的层序遍历:Leetcode-102 69 17.翻转二叉树:Leetcode-226 70 18.二叉树的层序遍历Ⅱ:Leetcode-107 71 19.二叉树锯齿形层序遍历:Leetcode-103 72 20.树的子结构:Leetcode-Offer26 73 21.合并果子:HZOJ-287001.m4s 73 21.合并果子:HZOJ-287002.m4s 74 22.货仓选址:HZOJ-245 75 1.堆和优先队列:结构讲解 76 2.优先队列:代码演示 77 3.堆排序与线性建堆法 78 4.堆排序:代码演示 79 5.哈夫曼编码:基于堆的优化 80 6.用set模拟堆操作 81 7.数据流中的第 K 大元素:Leetcode-703 82 8.数据流的中位数:Leetcode-295 83 9.合并K个升序链表:Leetcode-23 84 10.丑数Ⅱ:Leetcode-264 85 11.超市卖货:HZOJ-284 86 12.序列 M 小和:HZOJ-285 87 13.生日礼物:HZOJ-289 88 1.选择排序 89 2.插入排序 90 3.无监督的插入排序 91 4.希尔排序 92 5.冒泡排序及优化 93 6.快速排序 94 7.快速排序的优化 95 fix-1.【勘误】快速排序的优化 96 8.归并排序 97 9.基数排序(上):理论讲解 98 10.基数排序(下):代码演示 99 11.排序算法总结 100 12.C++ sort 使用方法与技巧 101 13.两数之和:Leetcode-01 102 14.排序链表:Leetcode-148(快速排序法) 103 15.排序链表:Leetcode-148(归并排序法) 104 16.合并两个有序数组:Leetcode-88 105 17.合并两个有序链表:Leetcode-21 106 18.两个正序数组的中位数:Leetcode-04 107 19.存在重复元素Ⅱ:Leetcode-219 108 20.逆序对个数:HZOJ-248 109 21.士兵:HZOJ-251 110 22.国王游戏:HZOJ-256(基础实现) 111 23.国王游戏:HZOJ-256(大整数实现) 112 1.二分算法:理论讲解 113 2.二分算法:数组和函数的关系 114 3.二分算法:代码演示 115 4.跳跃表:结构讲解 116 5.跳跃表:代码演示 117 6.哈希表与布隆过滤器 118 7.哈希表:代码演示 119 8.【再学】两数之和:Leetcode-01 120 9.搜索插入位置:Leetcode-35 121 10.存在重复元素:Leetcode-217 122 11.两个数组的交集:Leetcode-349 123 12.无重复字符的最长子串:Leetcode-03 124 13.【再学】两个正序数组的中位数:Leetcode-04 125 14.课后练习题7讲解 126 15.奶牛围栏:HZOJ-244 127 1.二叉排序树:结构讲解 128 2.二叉排序树:代码演示 129 3.AVL 树:结构讲解 130 4.AVL 树:代码演示 131 5.红黑树:平衡条件讲解 132 6.红黑树:插入及调整策略 133 7.红黑树:插入代码演示 134 8.红黑树:删除及调整策略 135 9.红黑树:删除及调整代码演示 136 10.B-树:性质讲解 137 11.B-树:插入及调整策略 138 12.B-树:插入及调整代码演示 139 13.B-树:删除及调整策略 140 14.B-树:删除及调整代码演示 141 1.系统栈模拟法原理讲解 142 2.练习1:阶乘函数转非递归 143 3.练习2:中序遍历转非递归 144 4.练习3:快速排序转非递归 145 5.拓扑序知识讲解 146 6.练习4:HZOJ-641-拓扑排序 147 7.练习5:HZOJ-636-旅行计划 148 8.练习6:归并排序转非递归 149 1.连通性问题与 Quick-Find 算法 150 2.Quick-Find 算法:代码演示 151 3.Quick-Union 算法:理论讲解 152 4.Quick-Union 算法:代码演示 153 5.并查集优化:按秩合并+路径压缩 154 6.并查集优化:代码演示 155 7.最长连续序列 Leetcode-128 156 8.被围绕的区域 Leetcode-130 157 9.岛屿数量 Leetcode-200 158 10.省份数量 Leetcode-547 159 11.猜拳 HZOJ-72 160 12.程序自动分析 HZOJ-322 161 13.关押罪犯:HZOJ-327 162 1.单调队列的作用讲解 163 2.单调队列:代码演示 164 3.单调栈的作用讲解 165 4.单调栈:代码演示 166 5.滑动窗口:HZOJ-271 167 6.最大子序和:HZOJ-270 168 7.队列的最大值Leetcode-Offer59 169 8.差值限制的子数组:Leetcode-1438 170 9.最大矩形面积:HZOJ-264 171 10.接雨水:Leetcode-42 172 11.最短子数组:Leetcode-862 173 12.双生序列:HZOJ-372 174 1.回溯算法基本原理 175 2.第一讲:八皇后问题-P1219-算法设计 176 3.第一讲:八皇后问题-P1219-代码演示 177 4.第二讲:奇怪的电梯-P1135 178 5.第三讲:选数-P1036 179 6.第四讲:马的遍历-P1443 180 7.第五讲:迷宫-P1605 181 8.第六讲:吃奶酪-P1433 182 9.第七讲:单词接龙-P1019 183 10.第八讲:字串变换-P1032 184 11.第九讲:自然数拆分问题-P2404 185 12.第十讲:单词方阵-P1101 186 13.第十一讲:考前临时抱佛脚-P2392 187 1.贪心算法基本原理 188 2.第一讲 最大整数-HZOJ-505 189 3.第一讲 贪心策略证明 190 4.第二讲 数-HZOJ-504 191 5.第二讲 贪心策略证明 192 6.第三讲 独木舟-HZOJ-503 193 7.第三讲 贪心策略证明 194 8.第四讲:最大子阵和-HZOJ-258 195 9.第五讲:最少操作次数-HZOJ-511 196 10.第六讲:安装雷达-HZOJ-255 197 11.第七讲:挤奶-HZOJ-254 198 12.第八讲:奶牛晒太阳-HZOJ-253 199 13.第九讲:公司的任务-HZOJ-259 200 14.第十讲:树的颜色-HZOJ-257 201 15.第十讲:树的颜色-代码演示 202 16.贪心算法十讲总结 203 1.动态规划章节导学 204 2.如何求解递推问题 205 3.【大整数版】兔子繁殖问题:HZOJ-38 206 4.容斥原理的基本思想 207 5.【随堂练习】爬楼梯:HZOJ-40 208 6.【随堂练习】墙壁涂色:HZOJ-41 209 7.【递推】数的划分:P1025 210 8.【递推】数的计算:P1028 211 9.【递推】神经网络:P1038 212 10.【递推】栈:P1044 213 11.【递推】循环:P1050 214 12.【递推-代码演示】循环:P1050 215 13.【递推】传球游戏:P1057 216 14.【递推】Honoi双塔问题:P1096 217 15.从【递推算法】到【动态规划】 218 16.数字三角形:HZOJ-43 219 17.全面剖析:数字三角形问题 220 18.动归经典1:0 1背包 221 19.动归经典2:完全背包 222 20.动归经典3:多重背包 223 21.动归经典4:最长上升子序列 224 22.动归经典5:最长公共子序列 225 23.动归经典6:切割回文 226 24.动归经典7:棋盘分割 227 25.动归优化-去除冗余状态:乌龟棋 228 26.动归优化-状态重定义1:墙壁涂色 229 27.动归优化-状态重定义2:扔鸡蛋(上) 230 28.动归优化-状态重定义2:扔鸡蛋(下) 231 29.动归优化-转移过程1:切割回文 232 30.动归优化-转移过程2:最长上升子序列 233 31.动归优化-转移过程3:多重背包-拆分优化 234 32.动归优化-转移过程4:多重背包-单调队列优化 235 33.矩形:HZOJ-51 236 34.动归优化-转移过程5:矩形-单调栈优化 237 35.动归优化-斜率优化:古老的打字机 238 36.古老的打字机:HZOJ-52 239 37.低价购买 P1108 240 38.杂务 P1113 241 39.最大子段和 P1115 242 40.NASA 的食物计划 P1507 243 41.魔族密码 P1481 244 42.找啊找啊找 GF P1509 245 43.书本整理 P1103 246 44.删数 P2426 247 45.垃圾陷阱:P1156 248 46.最大正方形Ⅱ:P1681 249 47.导弹拦截:P1158 250 48.三元上升子序列:P1637 251 49.多人背包:P1858 252 50.仓库建设:P2120-解题思路 253 51.仓库建设:P2120-代码演示
链接: https://pan.baidu.com/s/1uwGzN06GVnlPBT5vJ3J3ng
提取码: pmvr