课程大纲
第1章
本节大纲
- 通过strStr这一道常见面试题讲解面试中的常见误区
- 从面试官的角度分析面试的考察点
- 从Subset中了解算法面试中模板的重要性
- 面试常见问题答疑
第2章
本节大纲
二分搜索 Binary Search
- 学习Binary Search的通用模板,不再死循环
- 讲解Search in Rotated Sorted Array等5-7道高频二分搜索题
第3章
本节大纲
二叉树问题与分治算法 Binary Tree & Divide Conquer
二叉树的深度优先遍历 Binary Tree DFS Traversal
- 先序/中序/后序 Preorder / inorder / postorder
- 分治 Divide & Conquer
- DFS模板 Introduce DFS Template
- 二叉树的宽度优先遍历 Binary Tree BFS Traversal
- BFS模板 Introduce BFS template
- 二叉搜索树 Binary Search Tree
第4章
本节大纲
动态规划 Dynamic Programming I
- 动态规划算法的适用条件
- 动态规划算法的四个解题要素
- 动规的两种实现方式:记忆化搜索 vs 循环递推
- 面试中动态规划的常见类型
- 坐标型动态规划
第5章
本节大纲
动态规划 Dynamic Programming II
- 单序列动态规划(下) Sequnece DP
- 双序列动态规划 Two Sequences DP
第6章
本节大纲
链表 Linked List
- 介绍Dummy Node在链表问题中的运用 Introduce Dummy Node in Linked List
- 你必须知道的几点Linked List的常用技巧 Basic skills in Linked List you should know
- 两根指针算法 Two pointers
- 常见问题讲解 Frequent Questions
第7章
本节大纲
数组与数 Array & Numbers
旋转排序数组相关问题与三步翻转法的运用 Rotated Sorted Array & 3-step Reversion
- 两个排序数组的中位数 Median of Two Sorted Array
- 子数组相关问题 SubArray
- 两根指针与x-sum问题 Two Pointers & x-sum
- 分割数组相关问题 Partition Array
- 相关题目:
- single number I,II,III
- Majority I,II,III
- Best time to buy and sale stock I,II,III
- subarray I,II,III,IV
- 2-sum,3-sum,4-sum,k-sum.3-sum closest
- quick question
- partition array
第8章
本节大纲
数据结构 Data Structure
- 线性数据结构
- 队列的原理、实现和运用 Queue
- 栈的原理、实现和运用 Heap
- 哈希表的原理、实现和运用 HashMap
树形数据结构
堆的原理、实现和运用 Heap
- Find Median from Data Stream(leetcode,nlogn)
- midian
- heapify
- merge k-sorted-list(priority,divide conquer)
第9章
本节大纲
图与搜索 Graph & Search
图上的宽度优先搜索 Graph BFS
- 拓扑排序 Topological Sorting
- 组合类深度优先搜索 Combination Related DFS
- 排列类深度优先搜索 Permutation Related DFS