0%

常见数据结构与算法分类

基础数据结构

工程类

设计并实现一些基础数据结构或工程组件。

排序及衍生

  • 4种基础排序:bubble sort,selection sort,insertion sort,希尔
  • 3种基于比较的:quick sort(quick select & prefect shuffle),堆排,merge sort
  • 3种不基于比较的:计数,基数,桶排

字符串

  • KMP
  • Manacher
  • AC自动机

链表

  • 单链表,双链表反转
  • 链表是否有环,环的入口
  • 链表相交
  • sort list

二分

  • standard
  • lower_bound/upper_bound

贪心

自求多福,策略太多

  1. 二叉树前序/中序/后序的递归和非递归遍历, 层次遍历, Morris遍历
  2. 序列化和反序列化
  3. BST问题
  4. 树状数组BIT
  5. 线段树
  6. backtracking:排列,组合,子集
  7. 树型暴搜:1:20:00开始

双指针

  • 快慢指针
  • 滑动窗口
  • 首尾指针:
    剑指81:不要求相对位置,首尾指针/快慢指针(快排思想)
    剑指21:要求相对位置不变,辅助数组/插入/冒泡

动态规划

数学

大数据

技巧

  • 矩阵处理,1:25:00开始,矩阵旋转90/180/270,转置
  • 前缀和:原始数组不变,频繁查询区间累加和,二维前缀和
  • 差分数组:频繁对原始数组的区间进行增减
  • 对拍
  • 打表找规律:数学规律题,输入输出都很简单如int

多线程

板子

我的LeetCode系列题解
模板1
模板2
模板3