课程大纲

第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