算法题型MindMap

数组 & 字符串

mindmap
  root((数组与字符串))
    数组基础
      遍历模拟
      原地修改
      去重
      合并
      删除
      旋转
      重排
    双指针
      左右指针
        有序数组两数和
        盛最多水的容器
        三数之和
        四数之和
      快慢指针
        删除重复元素
        移动零
        原地删除元素
      对撞指针
        回文判断
        反转字符串
    滑动窗口
      固定窗口
        定长子数组
        窗口平均值
        定长最大最小值
      可变窗口
        最长无重复子串
        最小覆盖子串
        和至少为K的最短子数组
        最多包含K种字符
      窗口统计
        字符频次
        distinct数量
        窗口最大最小值
    前缀和
      一维前缀和
        区间和
        子数组和
        和为K的子数组
      二维前缀和
        子矩阵和
        矩阵区域和检索
      前缀异或
        异或区间问题
    差分
      一维差分
        区间加减
        航班预订统计
      二维差分
        矩阵区间更新
    哈希
      计数
        字符统计
        频率统计
      映射
        两数之和
        下标映射
      判重
        是否重复
        最长连续序列
      分组
        字母异位词分组
    排序题
      排序后双指针
      排序后贪心
      排序后分组
      自定义排序
      区间排序
    二分查找
      基础查找
        查目标值
        查插入位置
      边界查找
        左边界
        右边界
      旋转数组二分
      峰值查找
      答案二分
        最小可行值
        最大可行值
    子数组问题
      最大子数组和
      最长递增连续子数组
      乘积最大子数组
      环形子数组
      子数组计数
    子序列问题
      最长递增子序列
      最长公共子序列
      判断子序列
      不连续选择问题
    回文串
      中心扩展
      回文子串计数
      最长回文子串
      回文分割
    字符串匹配
      暴力匹配
      KMP
      Rabin-Karp
      最小表示
    表达式与解析
      字符串转整数
      表达式求值
      括号展开
      解码字符串
    模拟题
      螺旋矩阵
      Z字变换
      大数加法乘法
      文本对齐
      字符串压缩

链表 & 栈 & 队列 & 堆

mindmap
  root((链表栈队列堆题型))
    链表基础
      遍历
      插入
      删除
      合并
      断链重连
    链表双指针
      快慢指针
        找中点
        判断环
        环入口
      前后指针
        删除倒数第N个
        分隔链表
    链表反转
      整体反转
      区间反转
      K个一组反转
      两两交换节点
    链表合并
      合并两个有序链表
      合并K个有序链表
      归并排序链表
    链表判环
      Floyd判圈
      哈希判重
    链表设计题
      LRU Cache
      LFU Cache
      复制带随机指针链表
    栈基础
      合法括号
      路径简化
      逆波兰表达式
      字符串解码
    单调栈
      下一个更大元素
      下一个更小元素
      每日温度
      柱状图最大矩形
      接雨水
      移掉K位数字
    栈模拟递归
      二叉树遍历
      表达式求值
      深度优先搜索
    队列基础
      普通队列模拟
      BFS辅助队列
      循环队列
    双端队列
      滑动窗口最大值
      维护区间最值
      0-1 BFS
    单调队列
      定长窗口最大值
      定长窗口最小值
      DP优化
    优先队列
      TopK
      最小值弹出
      合并有序流
      区间调度
    堆题型
      第K大第K小
      前K高频元素
      数据流中位数
      丑数系列
      合并K个链表
      最小区间
      会议室调度
    设计题
      最小栈
      实现队列用栈
      实现栈用队列
      频率栈
      数据流第K大

树 & 回溯

mindmap
  root((树与回溯题型))
    二叉树遍历
      前序遍历
      中序遍历
      后序遍历
      层序遍历
      锯齿层序遍历
      垂序遍历
    二叉树基础题
      最大深度
      最小深度
      节点个数
      平衡二叉树
      对称二叉树
      翻转二叉树
      相同树
      子树判断
    路径问题
      路径总和
      所有路径
      最大路径和
      根到叶数字之和
      直径
    结构改造
      展开为链表
      构造二叉树
      合并二叉树
      序列化反序列化
    最近公共祖先
      普通二叉树LCA
      BST的LCA
    二叉搜索树BST
      查找
      插入
      删除
      验证BST
      第K小元素
      转累加树
      有序数组转BST
      中序相关题
    树形DP
      打家劫舍III
      最大独立集类
      树上路径和
      选或不选类
    N叉树
      遍历
      层序遍历
      深度
    字典树Trie
      前缀查找
      搜索单词
      单词替换
      自动补全
      异或字典树
    回溯总类
      子集
        子集
        含重复元素子集
      组合
        组合数
        组合总和
        组合总和II
        组合总和III
      排列
        全排列
        含重复元素全排列
      切割
        分割回文串
        复原IP地址
      棋盘搜索
        N皇后
        数独
        单词搜索
      路径搜索
        根到叶路径
        网格路径
      选择型搜索
        选或不选
        多叉决策树
    DFS题型
      树DFS
      图DFS
      网格DFS
      记忆化DFS

图论 & dp & math

mindmap
  root((图论DP贪心数学题型))
    图遍历
      邻接表DFS
      邻接表BFS
      连通分量
      染色法
      判环
    网格图
      岛屿数量
      最大岛屿面积
      封闭岛屿
      飞地数量
      腐烂的橘子
      最短路径网格
    拓扑排序
      课程表
      课程表II
      有向无环图判定
      入度统计
      DAG路径计数
    最短路径
      无权图最短路
        BFS
      0-1最短路
        双端队列
      单源最短路
        Dijkstra
        Bellman-Ford
        SPFA
      多源最短路
        Floyd
    最小生成树
      Kruskal
      Prim
    并查集
      连通性判断
      合并集合
      冗余连接
      省份数量
      岛屿II
      账户合并
      等式方程可满足性
    状态图搜索
      单词接龙
      打开转盘锁
      最少步数变换
    贪心
      区间合并
      区间选择
      无重叠区间
      引爆气球
      跳跃游戏
      分发饼干
      划分字母区间
      加油站
      股票买卖II
      最优装载类
    动态规划基础
      线性DP
        爬楼梯
        打家劫舍
        最大子数组和
      序列DP
        LIS
        LCS
        编辑距离
        最长回文子序列
      背包DP
        01背包
        完全背包
        多重背包
        分组背包
        背包求方案数
      区间DP
        戳气球
        石子合并
        回文串切割
      网格DP
        不同路径
        最小路径和
        地下城游戏
      状态机DP
        股票系列
        买卖冷冻期
        含手续费
      树形DP
        树上选点
      状压DP
        TSP类
        子集状态转移
      数位DP
        统计满足条件的整数
      记忆化搜索
        DFS转DP
    数学
      最大公约数
      最小公倍数
      快速幂
      质数筛
      组合数
      排列组合计数
      概率期望
      容斥原理
      博弈论基础
      蓄水池抽样
      随机化算法
    位运算
      按位与或异或
      lowbit
      子集枚举
      状态压缩
      位掩码判重
      只出现一次数字
      汉明距离
      位1个数
    区间数据结构
      线段树
        区间和
        区间最值
        区间修改
      树状数组
        前缀和
        逆序对
      稀疏表
        RMQ
    高级题型
      扫描线
      差分约束
      欧拉路径
      强连通分量
      双连通分量
      网络流
      A星搜索
      启发式搜索