九章算法-算法强化班 第3期|2023版|独家资源|高清完整

算法强化班 第3期
招聘寒冬期,储备力量,强化算法水平,等待时机一举拿下FLAG & BATJ Offer

第一章【直播】算法面试高频知识点与技巧 Algorithm Interview Skills

  • 临时抱佛脚 vs 系统性学习

a.各自有什么准备策略?

b.什么情况该使用哪种方式

  • 本课程的先修知识点、建议学习路径
  • 两种高频技巧

a.遇到新题的通用解题技巧——时间复杂度倒推算法

b.Subarray 问题的必备技巧——前缀和 PrefixSum

  • 四份 Cheat Sheet 最新版本

a.高频面试算法知识点 Cheat Sheet

b.高频数据结构知识点 Cheat Sheet

c.时间复杂度与算法对应表 Cheat Sheet

d,高频算法模板 Cheat Sheet

  • 后续课程大纲
  • Q & A

第二章【视频】算法面试高频知识点与技巧Algorithm Interview Skills(令狐老师主讲)

  • 临时抱佛脚 vs 系统性学习

a.各自有什么准备策略?

b.什么情况该使用哪种方式

  • 本课程的先修知识点、建议学习路径
  • 两种高频技巧

a.遇到新题的通用解题技巧——时间复杂度倒推算法

b.Subarray 问题的必备技巧——前缀和 PrefixSum

  • 四份 Cheat Sheet 最新版本

a.高频面试算法知识点 Cheat Sheet

b.高频数据结构知识点 Cheat Sheet

c.时间复杂度与算法对应表 Cheat Sheet

d,高频算法模板 Cheat Sheet

  • 后续课程大纲
  • Q & A

第三章【直播】面试中的高频算法:同向双指针 Same Direction Two Points

  • 最暴力到最优:在面试中你能实现到哪一步?
  • F家:和大于S的最小子数组

a.暴力法Violence

b.前缀和优化Prefixes and optimizations

c.二分法Dichotomy

d.同向双指针Codirectional double pointer

  • 大厂都会出的“最小子串覆盖”问题

a.如何分析与实现代码细节

  • G家新题:加热器 Heaters

a.二分答案的思路要点

b.不同数组上的同向双指针

第四章【视频】面试中的高频算法:同向双指针Same Direction Two Points(令狐老师主讲)

  • 最暴力到最优:在面试中你能实现到哪一步?
  • F家:和大于S的最小子数组

a.暴力法Violence

b.前缀和优化Prefixes and optimizations

c.二分法Dichotomy

d.同向双指针Codirectional double pointer

  • 大厂都会出的“最小子串覆盖”问题

a.如何分析与实现代码细节

  • G家新题:加热器 Heaters

a.二分答案的思路要点

b.不同数组上的同向双指针

第五章【互动】算法学习拓展知识:暴力、贪心、模拟等 Brute Force, Greedy & Implementation, etc

  • 暴力、贪心、模拟是什么算法?

a.经典贪心问题:会议室问题

b.高盛OA必考模拟题:奇怪的排序(strange sort)

c.普通的模拟问题:pick carrots

  • 如何从数据范围推导时间复杂度?

a.运行时间的上限是多少

b.数据范围与算法的推导关系

  • 二分法进阶

a.不一样的二分查找:搜索旋转排序数组

b.二分答案:经典问题 Wood Cut

第六章【互动】滑窗型双指针与隔板法 Sliding Window & Stars and Bars

  • 一个例子带你看破滑窗型双指针
  • 什么是隔板法?

a.隔板法的适用情况

b.隔板法例题:股票问题 III

  • 隔板法套双指针 —— 摘苹果问题

第七章【互动】BFS基础知识回顾 BFS Review

  • BFS基本模版回顾
  • 如何解决分层BFS问题

a.分层BFS的写法

b.利用hashmap(dict)对代码进行优化

c.Java中如何将二维坐标作为Hashmap/Hashset的key

  • 如何解决基本的拓扑排序问题

第八章【互动】DFS课前预习内容 DFS Preview

  • 二叉树的直径问题

a.递归三要素是什么

b.通过优化传入参数与返回值快速解决问题

  • 如何解决图中的直径

a.Follow up:如何找到图中第二长的直径

  • 二叉树分治预习练习题

a.二叉树中最深的节点

第九章【直播】BFS进阶与最短路算法 BFS Advanced & Shortest Path Fast Algorithm

  • BFS 解决最短路径问题时可能产生的各类变化
  • 宽度优先搜索代码模板
  • BFS 两种实现方式
  • 在不同情况下各自的优劣对比
  • 图的邻接表(Adjacency List)存储方法
  • 使用 SPFA 算法解决复杂图最短路径问题
  • 双向宽度优先搜索代码模板
  • 双向宽度优先搜索到底带来多大的优化?
  • 如何记录 BFS 求出的最短路径的具体方案

第十章【视频】BFS进阶与最短路算法 BFS Advanced & Shortest Path Fast Algorithm(令狐老师主讲)

  • BFS 解决最短路径问题时可能产生的各类变化
  • 宽度优先搜索代码模板
  • BFS 两种实现方式
  • 在不同情况下各自的优劣对比
  • 图的邻接表(Adjacency List)存储方法
  • 使用 SPFA 算法解决复杂图最短路径问题
  • 双向宽度优先搜索代码模板
  • 双向宽度优先搜索到底带来多大的优化?
  • 如何记录 BFS 求出的最短路径的具体方案

第十一章【直播】DFS进阶 DFS Advanced

  • 二叉搜索树(BST)有什么性质?
  • 怎样快速实现在二叉树上的DFS?
  • 如何理解分治型DFS

a.分治型DFS如何形象的记忆?

b.退出条件是怎样的?

  • 分治型DFS与记忆化搜索、DP之间是什么关系?

a.Word Break II

  • 二叉树上的DFS问题
  • 隐式图上的DFS问题
  • 大厂DFS真题详解

第十二章【视频】DFS进阶 DFS Advanced(令狐老师主讲)

  • 二叉搜索树(BST)有什么性质?
  • 怎样快速实现在二叉树上的DFS?
  • 如何理解分治型DFS

a.分治型DFS如何形象的记忆?

b.退出条件是怎样的?

  • 分治型DFS与记忆化搜索、DP之间是什么关系?

a.Word Break II

  • 二叉树上的DFS问题
  • 隐式图上的DFS问题
  • 大厂DFS真题详解

第十三章【互动】动态规划预习知识 Dynamic Programming Preview

  • 动态规划的四要素
  • 记忆化搜索与动态规划是什么关系?
  • 如何优化动态规划算法的空间复杂度?

a.滚动数组算法Scrolling array algorithm

  • 01背包及其优化

a.01背包基本概念Basic concept of backpack

b.01背包最优解法Backpack optimal solution

  • 完全背包及其优化

a.完全背包基本概念Complete backpack basic concept

b.完全背包最优解法Complete backpack optimal solution

第十四章【互动】概率型动态规划 Probabilistic Dynamic Programming

  • 概率型动态规划基本特点
  • 概率型动态规划解题思路
  • 概率型动态规划例题讲解

a.骰子类概率动态规划Dice class probabilistic dynamic programming

b.骑士类概率动态规划Knight class probabilistic dynamic programming

  • 概率型动态规划扩展知识

第十五章【直播】动态规划进阶(上)—坐标型动态规划与背包型动态规划 Dynamic programmingⅠ

  • 动态规划的使用场景
  • 动态规划的分类 –
  • 三个关键词解析动态规划问题
  • 坐标:LintCode 1827. 停在原地的方案数
  • 子序列:LintCode 1702. 不同的子序列
  • 求和:LintCode 1607. 盈利计划

第十六章【视频】动态规划进阶(上)—坐标型动态规划与背包型动态规划 Dynamic programming Ⅰ(令狐老师主讲)

  • 动态规划的使用场景
  • 动态规划的分类 –
  • 三个关键词解析动态规划问题
  • 坐标:LintCode 1827. 停在原地的方案数
  • 子序列:LintCode 1702. 不同的子序列
  • 求和:LintCode 1607. 盈利计划

第十七章【直播】动态规划进阶(下)—动态规划习题训练 Dynamic Programming Ⅱ

  • 坐标型动态规划:LintCode 1861. 老鼠跳跃
  • 如何正确计算正方形的数量:LintCode 1869. 全1正方形
  • 分组背包:LintCode 1800. 浮点数组合和
  • 区间型动态规划:LintCode 1798. 合并石头的最低成本

第十八章【视频】动态规划进阶(下)—动态规划习题训练 Dynamic Programming Ⅱ(令狐老师主讲)


坐标型动态规划:LintCode 1861. 老鼠跳跃

  • 如何正确计算正方形的数量:LintCode 1869. 全1正方形
  • 分组背包:LintCode 1800. 浮点数组合和
  • 区间型动态规划:LintCode 1798. 合并石头的最低成本

第十九章【互动】并查集初探 Union Find

  • 使用并查集解决 BFS 难以解决的问题

a.图是否是树 II

  • 并查集是什么
  • 并查集的结构以及模板
  • 并查集能维护什么

a.元素是否在同一个集合中:连接图 I

b.集合的大小:连接图 II

c.集合的数量:连接图 III

第二十章【互动】字典树入门 Intro to Trie

  • 比哈希表好用的字典树

a.F家真题:单词的添加与查找

  • 字典树的考察方法
  • 字典树的结构以及模板代码
  • 使用字典树维护前缀的出现次数

a.美团真题:识别字符串

  • 字典树的其他操作

a.查询单词是否出现

b.查询前缀是否出现

第二十一章【直播】连通性问题通解:并查集 Union Find

  • 有了BFS,为啥要用并查集?
  • 并查集怎么考,考什么?
  • G家并查集题目:岛屿的个数系列

a.BFS:434. 岛屿的个数

b.Follow Up :434. 岛屿的个数 II

c.删除与合并:1014. 打砖块

  • 并查集的其他可维护信息

a.查询集合内部元素:805. 最大关联集合

  • 并查集加速其他算法

a.F家:论文查重

第二十二章【视频】连通性问题通解:并查集 Union Find(令狐老师主讲)

  • 有了BFS,为啥要用并查集?
  • 并查集怎么考,考什么?
  • G家并查集题目:岛屿的个数系列

a.BFS:434. 岛屿的个数

b.Follow Up :434. 岛屿的个数 II

c.删除与合并:1014. 打砖块

  • 并查集的其他可维护信息

a.查询集合内部元素:805. 最大关联集合

  • 并查集加速其他算法

a.F家:论文查重

第二十三章【直播】字典树的常见考点及题目解析 Trie

  • 字典树的适用场景
  • 使用字典树求解最长、最短的公共前缀

a.G家:最大距离

  • 查询前缀问题

a.如何避免重复运算

b.前缀长度增加与字典树指针下移

c.辅助动态规划:K 步编辑 (G家,Airbnb)

d.辅助复杂DFS:单词搜索 III

  • 不适宜字典树的情况

a.存放所有单词的集合:单词矩阵 (G家)

第二十四章【视频】字典树的常见考点及题目解析 Trie(令狐老师主讲)

  • 字典树的适用场景
  • 使用字典树求解最长、最短的公共前缀

a.G家:最大距离

  • 查询前缀问题

a.如何避免重复运算

b.前缀长度增加与字典树指针下移

c.辅助动态规划:K 步编辑 (G家,Airbnb)

d.辅助复杂DFS:单词搜索 III

  • 不适宜字典树的情况

a.存放所有单词的集合:单词矩阵 (G家)

第二十五章【互动】单调栈介绍与实战 Monotone Stack

  • 两道单调栈入门问题

a.单调栈的最常见使用场景

b.单调栈模板讲解

  • 单调栈的变形:单调队列

a.超级经典的问题:滑动窗口最大值

b.单调队列和单调栈的比较

第二十六章【互动】使用扫描线解决区间问题 Problem of interval

  • 扫描线算法介绍
  • 三道例题看透一维扫描线问题

a.超高频题目:区间合并

b.G家:会议室 II

c.Airbnb:员工空闲时间

第二十七章【直播】不易想到的 O(n) 算法:单调栈 Monotone Stack

  • 什么是单调栈算法
  • 单调栈的使用场景
  • 双指针与单调栈的区别

a.直方图的最大矩形覆盖

b.F家:最大矩形

  • 使用单调栈加速动态规划

a.G家:奇偶跳

b.图上DP 与 拓扑排序 的关系

  • 单调队列的实现

a.单调栈与单调队列的联系与区别

b.什么时候使用单调队列

c.G家:滑动窗口的最大值

第二十八章【视频】不易想到的 O(n) 算法:单调栈 Monotone Stack(令狐老师主讲)

  • 什么是单调栈算法
  • 单调栈的使用场景
  • 双指针与单调栈的区别

a.直方图的最大矩形覆盖

b.F家:最大矩形

  • 使用单调栈加速动态规划

a.G家:奇偶跳

b.图上DP 与 拓扑排序 的关系

  • 单调队列的实现

a.单调栈与单调队列的联系与区别

b.什么时候使用单调队列

c.G家:滑动窗口的最大值

第二十九章【直播】堆的解题技巧 Heap

  • G家,Twitter真题:接雨水

a.前缀优化解法

b.单调栈解法

c.同向双指针解法

  • 问题升级:接雨水 II

a.最常见的heap使用情景:找最值

  • 大顶堆 OR 小顶堆 的选择:

a.雇佣K个人的最低费用

b.数据流的中位数

  • 根据使用场景判断数据结构

a.将数据流变为多个不相交区间

第三十章【视频】堆的解题技巧(令狐老师主讲) Heap(Linghu)

  • G家,Twitter真题:接雨水

a.前缀优化解法

b.单调栈解法

c.同向双指针解法

  • 问题升级:接雨水 II

a.最常见的heap使用情景:找最值

  • 大顶堆 OR 小顶堆 的选择:

a.雇佣K个人的最低费用

b.数据流的中位数

  • 根据使用场景判断数据结构

a.将数据流变为多个不相交区间

第三十一章【互动】前缀和扩展知识 Prefix Sum

  • 前缀和的两种定义方法

a.0-index定义法0-index definition method

b.1-index定义法0-index definition method

c.两种定义方法的优劣势

  • 如何在二维矩阵中使用前缀和

a.前缀和数组的定义

b.如何求子矩阵之和

c.二维前缀和例题讲解

  • 面试经典例题讲解

a.前缀和与预处理

b.二分答案与前缀和的结合考察

第三十二章【互动】BFS课后练习讲解 BFS Practice

  • 岛屿数量变形:最大连通面积
  • 搜索与动态规划的抉择——地图跳跃问题
  • BFS真题:湖面逃跑问题

第三十三章【互动】DFS扩展知识 DFS Advanced

  • Amazon 经典问题:Critical Connection
  • Sliding window的优化:A*算法

第三十四章【互动】动态规划进阶I 扩展知识 Dynamic Programming Advanced I

  • 每次可以合并K堆的stone game

a.如何解决选择K堆时出现的可能无法合并为1堆的问题

b.选择递推还是递归解决?

  • O(N^2)实现stone game —— 平行四边形优化

a.平行四边形法则

b.代码实现

第三十五章【互动】大厂动态规划题集 Dynamic Programing

  • 美团:考试策略
  • 阿里:染色问题
  • 字节跳动:最小的窗口子序列
  • 猿辅导:零钱兑换

第三十六章【互动】双指针、二分法实战 Two Pointers & Bisection Method

  • 同向双指针新题

a.G家:摘水果

b.美团:字符串划分

  • 二分法经典题目

a.寻找峰值

b.从一维数组到二维矩阵的FollowUp:寻找峰值 II

第三十七章【互动】最小生成树算法 Minimum Spanning Tree

  • 修建道路的问题
  • 什么是最小生成树(MST)
  • 为什么要学习最小生成树算法
  • 使用并查集的最小生成树算法

a.Kruskal 算法流程

b.Kruskal 算法模板

  • 另一种解决最小生成树问题的算法

a.Prim 算法介绍及代码

第三十八章【互动】字典树难题解析 Trie

  • 位运算知识点复习
  • 使用数字型字典树解决两道面试真题

a.Google:LintCode 1248

b.FaceBook:LintCode 722

第三十九章【互动】栈与表达式处理 Stack and Expression Processing

  • 表达式处理问题三大考点

a.字符串处理String handling

b.递归Recursion

c.栈Warehouse

  • 使用递归和栈解决三种类型的表达式
  • 什么是中缀、后缀表达式
  • 使用栈求值后缀表达式
  • 使用单调栈转化中缀表达式

第四十章【互动】使用线段树解决区间问题 Segment Tree

  • 扫描线算法介绍
  • 三道例题看透一维扫描线问题

a.超高频题目:区间合并

b.G家:会议室 II

c.Airbnb:员工空闲时间

全网最全最新最专业的资源站
九章资源站 » 九章算法-算法强化班 第3期|2023版|独家资源|高清完整

13 评论

  1. 学完了7套课程…..强不强

  2. 老师讲的非常好的

  3. 好多九章算法的资料 谢谢提供

  4. 刚学完一个课,真不错

  5. 个人觉得不错 可以购买

  6. 源码都有,厉害了

发表回复

全网最全最新最专业的资源站

购买会员 联系客服