数据结构与算法脉络总结

重剑无锋,大巧不工! / 2023-05-28 / 原文

目录
  • 一、数据结构
    • 1. 链表
    • 2. 栈
    • 3. 队列
    • 4. 散列表
    • 5. 集合
    • 6. 二叉树
    • 7. 字典树
    • 8. 堆
    • 9. 优先队列
    • 10. 并查集
  • 二、算法
    • 1. 排序
      • (1)插入排序
      • (2)快速排序
      • (3)归并排序
      • (4)堆排序
    • 2. 字符串
      • (1)kmp
      • (2)ac自动机
      • (3)trie
    • 3. 图论
      • (1)深度优先搜索
      • (2)广度优先搜索
      • (3)拓扑
    • 4. 贪心
    • 5. 动态规划
    • 6. +数学
    • 7. 其他:递归、分治、二分查找、双指针、多路归并、多数投票

一、数据结构

1. 链表

k个一组翻转链表
奇偶链表

2. 栈

3. 队列

4. 散列表

5. 集合

6. 二叉树

根到叶路径上的不足节点
二叉搜索子树的最大键值和
从中序与后序遍历序列构造二叉树

7. 字典树

搜索推荐系统

8. 堆

9. 优先队列

10. 并查集

二、算法

1. 排序

(1)插入排序

(2)快速排序

(3)归并排序

(4)堆排序

2. 字符串

(1)kmp

(2)ac自动机

(3)trie

3. 图论

(1)深度优先搜索

全排列去重
子集
回溯:路径总和 III

(2)广度优先搜索

二进制矩阵中的最短路径
T秒后青蛙的位置

(3)拓扑

4. 贪心

5. 动态规划

最小花费爬楼梯
打家劫舍
不同路径

6. +数学

蓄水

7. 其他:递归、分治、二分查找、双指针、多路归并、多数投票

分治:合并 K 个升序链表
双指针:反转字符串中的单词
双指针:压缩字符串
双指针:盛水最多的容器
递归:字符串解码
递归:回文链表
多数投票:多数元素