九章算法强化班 - 课程大纲
第1章 FLAG算法面试难度提高?如何准备?
· 各类IT企业的面试算法难度及风格
· 如何解决中等难度以上的算法题
· 如果解决follow up问题
· Two sum
1. Two sum follow up I
2. Two sum follow up II - Triangle count
· Kth largest element
1. 第k大元素的三层递进面试考察.
2. 如何通过一道题区分3类面试者
3. 剖析面试官面试的思路
第2章 数据结构 Data Structure (上)
· 并查集
并查集的基本原理
并查集的相关运用
并查集的拓展(带路径压缩)
并查集的运用
· Trie 树
Trie 树的相关运用
· 扫描线算法
扫描线的常规题目
扫描线和其他数据结构结合的拓展
第3章 数据结构 Data Structure (下)
· Heap的深入理解和运用
· Heap重要拓展:
带删除的堆hash-heap
Trapping rain water
Building Outline
· Median 问题拓展
· Sliding Windows问题总结
· 双端队列Deque
第4章 两个指针 Two Pointers
· 对撞型指针
1. Two sum 类
2. Partition 类
· 前向型指针
1. 窗口类
2. 快慢类
· 两个数组上的指针
第5章 动态规划 Dynamic Planning (上)
· 记忆化搜索(区间动态规划、博弈类动态规划)
· 背包类动态规划
· 区间类动态规划
第6章 动态规划 Dynamic Planning (下)
· 记忆化搜索拓展
1. 区间动态规划
2. 博弈类动态规划
· 背包类动态规划
BackPack I/II
K sum
Minimum Adjustment Cost
第7章 如何解决 follow up 问题
· Peak Element I/II
· 第K大
1. 第K大
2. 有序矩阵的第K大
3. 两个数组乘积的第K 大
4. n个数组第K大
5. n个数组多机第K大(K比较小)
6. n个数组多机第K大(K比较大)
· Subarray sum
1. Subarray sum
2. Submatrix sum
3. Subarray Sum Closest
4. Subarray sum II