LeetCode-Py icon indicating copy to clipboard operation
LeetCode-Py copied to clipboard

⛽️「算法通关手册」:超详细的「算法与数据结构」基础讲解教程,从零基础开始学习算法知识,850+ 道「LeetCode 题目」详细解析,200 道「大厂面试热门题目」。

算法通关手册(LeetCode)

项目简介

  • 「算法与数据结构」 基础知识的讲解教程,「LeetCode」700+ 道题目的详细解析。本项目易于理解,没有大跨度的思维跳跃,项目中使用部分图示、例子来帮助理解。

  • 本教程先从基础的数据结构和算法开始讲解,再针对不同分类的数据结构和算法,进行具体题目的讲解分析。让读者可以通过「算法基础理论学习」和「编程实战学习」相结合的方式,彻底的掌握算法知识。

  • 本教程采用 Python 作为编程语言,要求学习者已有基本 Python 程序设计的知识与经验。

项目地址

欢迎右上角 「Star ⭐️ 」「Fork」,这是对我最大的鼓励和支持。

支持黑暗模式的在线电子书《算法通关手册》。

关于作者

我是一名 iOS / macOS 的开发程序员,另外也是北航软院的一名非全硕士(在读)。曾在大学期间学习过算法知识,并参加过 3 年的 ACM 比赛, 但水平有限,未能取得理想成绩。但是这 3 年的 ACM 经历,给我最大的收获是锻炼了自己的逻辑思维和解决实际问题的能力,这种能力为我今后的工作、学习打下了坚实的基础。

我从 2021 年 03 月 30 日开始每日在 LeetCode 刷题,到 2022 年 06 月 08 日已经刷了 1000+ 道题目,并且完成了 700+ 道题解。努力向着 1000+、1500+、2000+ 道题解前进。

在公众号 「程序员充电站」 里回复 "算法打卡",拉你进 LeetCode 算法打卡计划群一起组队打卡。

  • 进群暗号:算法打卡
  • 进群要求:少闲聊、多分享、改备注。

版权说明

内容章节

00. 绪论

  • 算法与数据结构
  • 算法复杂度
  • LeetCode 入门与攻略
  • LeetCode 题解(字典序排序,700+ 道题解)
  • LeetCode 题解(按分类排序,推荐刷题列表 ★★★)
  • LeetCode 面试最常考 100 题(按分类排序)
  • LeetCode 面试最常考 200 题(按分类排序)

01. 数组

  • 数组基础知识
    • 数组基础知识
    • 数组基础题目
  • 数组排序算法
    • 冒泡排序
    • 选择排序
    • 插入排序
    • 希尔排序
    • 归并排序
    • 快速排序
    • 堆排序
    • 计数排序
    • 桶排序
    • 基数排序
    • 数组排序题目
  • 二分查找
    • 二分查找知识
    • 二分查找题目
  • 数组双指针
    • 数组双指针知识
    • 数组双指针题目
  • 数组滑动窗口
    • 数组滑动窗口知识
    • 数组滑动窗口题目

02. 链表

  • 链表基础知识
    • 链表基础知识
    • 链表经典题目
  • 链表排序
    • 链表排序知识
    • 链表排序题目
  • 链表双指针
    • 链表双指针知识
    • 链表双指针题目

03. 堆栈

  • 堆栈基础知识
    • 堆栈基础知识
    • 堆栈基础题目
  • 单调栈
    • 单调栈知识
    • 单调栈题目

04. 队列

  • 队列基础知识
    • 队列基础知识
    • 队列基础题目
  • 优先队列
    • 优先队列知识
    • 优先队列题目

05. 哈希表

  • 哈希表知识
  • 哈希表题目

06. 字符串

  • 字符串基础知识
    • 字符串基础知识
    • 字符串经典题目
  • 单模式串匹配
    • Brute Force 算法
    • Rabin Karp 算法
    • KMP 算法
    • Boyer Moore 算法
    • Horspool 算法
    • Sunday 算法
    • 单模式串匹配题目
  • 多模式串匹配
    • 字典树知识
    • 字典树题目
    • AC 自动机知识
    • AC 自动机题目
    • 后缀数组知识
    • 后缀数组题目

07. 树

  • 二叉树
    • 树与二叉树基础知识
    • 二叉树的遍历知识
    • 二叉树的遍历题目
    • 二叉树的还原知识
    • 二叉树的还原题目
  • 二叉搜索树
    • 二叉搜索树知识
    • 二叉搜索树题目
  • 线段树
    • 线段树知识
    • 线段树题目
  • 树状数组
    • 树状数组知识
    • 树状数组题目
  • 并查集
    • 并查集知识
    • 并查集题目

08. 图论

  • 图的基础知识
    • 图的定义和分类
    • 图的存储结构和问题应用
  • 图的遍历
    • 图的深度优先搜索知识
    • 图的深度优先搜索题目
    • 图的广度优先搜索知识
    • 图的广度优先搜索题目
    • 图的拓扑排序知识
    • 图的拓扑排序题目
  • 图的生成树
    • 图的生成树知识
    • Prim 算法
    • Kruskal 算法
    • 图的生成树题目
  • 最短路径
    • 单源最短路径知识
    • Dijkstra 算法
    • Bellman-Ford 算法
    • SPFA 算法
    • 单源最短路径题目
    • 多源最短路径知识
    • Floyed 算法
    • 多源最短路径题目
    • 次短路径知识
    • 次短路径题目
    • 差分约束系统知识
    • 差分约束系统题目
  • 二分图
    • 二分图基础知识
    • 二分图基础题目
    • 二分图最大匹配知识
    • 匈牙利算法
    • Hopcroft-Karp 算法
    • 二分图最大匹配题目

09. 基础算法

  • 枚举算法
    • 枚举算法知识
    • 枚举算法题目
  • 递归算法
    • 递归算法知识
    • 递归算法题目
  • 分治算法
    • 分治算法知识
    • 分治算法题目
  • 回溯算法
    • 回溯算法知识
    • 回溯算法题目
  • 贪心算法
    • 贪心算法知识
    • 贪心算法题目
  • 位运算
    • 位运算知识
    • 位运算题目

10. 动态规划

  • 动态规划基础
    • 动态规划基础知识
    • 动态规划基础题目
  • 记忆化搜索
    • 记忆化搜索知识
    • 记忆化搜索题目
  • 线性 DP
    • 线性 DP 知识
    • 线性 DP 题目
  • 背包问题
    • 背包问题知识
    • 背包问题题目
  • 区间 DP
    • 区间 DP 知识
    • 区间 DP 题目
  • 树形 DP
    • 树形 DP 知识
    • 树形 DP 题目
  • 状态压缩 DP
    • 状态压缩 DP 知识
    • 状态压缩 DP 题目
  • 计数 DP
    • 计数 DP 知识
    • 计数 DP 题目
  • 数位 DP
    • 数位 DP 知识
    • 数位 DP 题目
  • 概率 DP
    • 概率 DP 知识
    • 概率 DP 题目
  • 动态规划优化
    • 单调栈 / 优先队列优化
    • 斜率优化
    • 四边形不等式优化
    • 动态规划优化题目

11. 附加内容

12. LeetCode 题解(已完成 731 道)