Orion's Studio.

算法(47)-接下来学习的规划调整

2024/03/19

时间有限,我们来思考一下怎么最快地从宏观角度学习下算法。

单调栈 3h

一堆数组里面找大小就可以考虑用单调栈啦。

接雨水和柱形图最大矩形是进阶,是面试常问的题目,也可以考虑用双指针。

todo:

  • 整理单调栈 1h
  • 接雨水 2h

图论 4h

主要就是 DFS 和 BFS。

底层还是回溯。

此外还有并查集问题。

  • 了解图论相关基础 1h
  • 岛屿数量两种解法:dfs 1h 和 bfs 1h
  • 简单了解下并查集概念 0.5h
  • 寻找图中是否存在路径 0.5h

回溯法 5.5h

深度遍历和剪枝。

  • 基础理论
    • 组合问题 0.5h
    • 切割问题 1h
    • 子集问题 1h
    • 排列问题 0.5h
    • 去重问题 0.5h
  • 棋盘问题
    • N皇后问题 2h

二叉树 7h

  • 基础上理论 1h 有个总结图
  • 二叉树:
    • 从前序与中序/中序与后序遍历序列构造二叉树 1h 看其中一个顺序,另一个简单过一下
    • 二叉树的最大深度 0.5h
    • 翻转二叉树 0.5h
    • 对称二叉树 0.5h
  • 层次遍历:二叉树的层序遍历 1h
  • 二叉搜索树:二叉搜索树中第k小的元素 1h 简单看看验证二叉搜索树 0.5h
  • 补充下字典树:实现 Trie(前缀树) 1h

滑动窗口 1h

补充无重复字符串的最大子串 1h

数组 3h

  • 除自身以外数组的乘积 1h
  • 合并区间 1h
  • kadana 算法:最大子数组和 1h

矩阵 2h

螺旋矩阵、旋转矩阵、矩阵置零挑两个做 2h

二分查找 1h

做两道简单的吧:

  • 猜数字大小 0.5h
  • 搜索插入位置 0.5h

位运算 0.5h

  • 只出现一次的数字 0.5h
CATALOG
  1. 1. 单调栈 3h
  2. 2. 图论 4h
  3. 3. 回溯法 5.5h
  4. 4. 二叉树 7h
  5. 5. 滑动窗口 1h
  6. 6. 数组 3h
  7. 7. 矩阵 2h
  8. 8. 二分查找 1h
  9. 9. 位运算 0.5h