基本算法总结,力扣题目整理

系统性学习算法,扎实您的打码基本功!

作为算法初学者的我从19年8月份开始在力扣学习算法,到现在AC了700多道题目。

随着打卡题目数量的增多,我发现算法常见考察的知识点大概有十几种,包括:二分,滑动窗口,双指针,单调栈(单调队列),链表,二叉树,字符串处理,dfs + 回溯,并查集,动态规划,贪心,位运算,数论(质数、约数、欧拉函数、欧几里得算法、中国剩余定理、简单博弈论等),图论(dfs、bfs、flood fill、拓扑排序、二分染色、最短路、最小生成树等)

系统性地学习算法会有事半功倍的效果,于是我归纳了一些基础算法的知识点,并对力扣上的相关题目进行了整理

访问我的电子书《从零开始学算法》,获取更好的阅读体验

知识点总结

  • 《从零开始学算法》
  • 力扣题解
  • 二分
  • 排序算法及应用
    • 快速排序
    • 归并排序
  • 字符串处理
  • DFS和回溯
  • 单调栈
  • 双指针
  • 滑动窗口
  • 前缀和
  • 差分数组
  • 链表
  • 二叉树
    • 二叉树的遍历
    • 深度优先–前序遍历
    • 深度优先–中序遍历
    • 深度优先–后序遍历
    • 广度优先遍历
    • 二叉搜索树
    • 二叉树相关题目
  • 字典树
  • 贪心
    • 区间问题
  • 动态规划
    • 坐标型动态规划
    • 序列型动态规划
    • 划分型动态规划
    • 区间型动态规划
    • 背包型动态规划
    • 双序列型动态规划
    • 博弈型动态规划
    • 位操作型动态规划
    • 数位dp
    • 状态压缩dp
  • 并查集
  • 位运算
  • 图论
    • 树与图的遍历
    • 拓扑排序
    • 最短路
      • 朴素的Dijkstra算法
      • 堆优化版的Dijkstra算法
      • Bellman-Ford算法
      • spfa算法
      • Floyd算法
    • 二分图
    • 最小生成树
      • Prim算法
      • Kruskal算法
  • 数论
    • 抽屉原理

进阶算法

  • 离散化
  • 树状数组
  • 线段树
  • ST表

你可能感兴趣的:(基本算法总结,力扣题目整理)