-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
201 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,168 @@ | ||
# 算法通关手册(LeetCode) | ||
|
||
## 项目简介 | ||
# 内容章节 | ||
|
||
## 00. 绪论 | ||
|
||
- [算法与数据结构](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/00.Introduction/01.Data-Structures-Algorithms.md) | ||
- [算法复杂度](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/00.Introduction/02.Algorithm-Complexity.md) | ||
- [LeetCode 入门与攻略](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/00.Introduction/03.LeetCode-Guide.md) | ||
- [LeetCode 题解(字典序排序,650+ 道题解)](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/00.Introduction/04.Solutions-List.md) | ||
- [LeetCode 题解(按分类排序,推荐刷题列表 ★★★)](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/00.Introduction/05.Categories-List.md) | ||
|
||
## 01. 数组 | ||
|
||
- 数组基础知识 | ||
- [数组基础知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/01.Array-Basic/01.Array-Basic.md) | ||
- [数组基础题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/01.Array-Basic/10.Array-Basic-List.md) | ||
- 数组排序算法 | ||
- [冒泡排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/01.Array-Bubble-Sort.md) | ||
- [选择排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/02.Array-Selection-Sort.md) | ||
- [插入排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/03.Array-Insertion-Sort.md) | ||
- [希尔排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/04.Array-Shell-Sort.md) | ||
- [归并排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/05.Array-Merge-Sort.md) | ||
- [快速排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/06.Array-Quick-Sort.md) | ||
- [堆排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/07.Array-Heap-Sort.md) | ||
- [计数排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/08.Array-Counting-Sort.md) | ||
- [桶排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/09.Array-Bucket-Sort.md) | ||
- [基数排序](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/10.Array-Radix-Sort.md) | ||
- [数组排序题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/02.Array-Sort/10.Array-Sort-List.md) | ||
- 二分查找 | ||
- [二分查找知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/03.Array-Binary-Search/01.Array-Binary-Search.md) | ||
- [二分查找题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/03.Array-Binary-Search/10.Array-Binary-search-List.md) | ||
- 数组双指针 | ||
- [数组双指针知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/04.Array-Two-Pointers/01.Array-Two-Pointers.md) | ||
- [数组双指针题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/04.Array-Two-Pointers/10.Array-Two-Pointers-List.md) | ||
- 数组滑动窗口 | ||
- [数组滑动窗口知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/05.Array-Sliding-Window/01.Array-Sliding-Window.md) | ||
- [数组滑动窗口题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/01.Array/05.Array-Sliding-Window/10.Array-Sliding-Window-List.md) | ||
|
||
## 02. 链表 | ||
|
||
- 链表基础知识 | ||
- [链表基础知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/02.Linked-List/01.Linked-List-Basic/01.Linked-List-Basic.md) | ||
- [链表经典题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/02.Linked-List/01.Linked-List-Basic/10.Linked-List-Basic-List.md) | ||
- 链表排序 | ||
- [链表排序知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/02.Linked-List/02.Linked-List-Sort/01.Linked-List-Sort.md) | ||
- [链表排序题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/02.Linked-List/02.Linked-List-Sort/10.Linked-List-Sort-List.md) | ||
- 链表双指针 | ||
- [链表双指针知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/02.Linked-List/03.Linked-List-Two-Pointers/01.Linked-List-Two-Pointers.md) | ||
- [链表双指针题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/02.Linked-List/03.Linked-List-Two-Pointers/10.Linked-List-Two-Pointers-List.md) | ||
|
||
## 03. 堆栈 | ||
|
||
- 堆栈基础知识 | ||
- [堆栈基础知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/03.Stack/01.Stack-Basic/01.Stack-Basic.md) | ||
- [堆栈基础题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/03.Stack/01.Stack-Basic/10.Stack-Basic-List.md) | ||
- 堆栈和深度优先搜索 | ||
- [深度优先搜索知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/03.Stack/02.Stack-DFS/01.Stack-DFS.md) | ||
- [深度优先搜索题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/03.Stack/02.Stack-DFS/10.Stack-DFS-List.md) | ||
- 单调栈 | ||
- ~~[单调栈知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/03.Stack/03.Monotone-Stack/01.Monotone-Stack.md)~~ | ||
- [单调栈题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/03.Stack/03.Monotone-Stack/10.Monotone-Stack-List.md) | ||
|
||
## 04. 队列 | ||
|
||
- 队列基础知识 | ||
- [队列基础知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/04.Queue/01.Queue-Basic/01.Queue-Basic.md) | ||
- [队列基础题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/04.Queue/01.Queue-Basic/10.Queue-Basic-List.md) | ||
- 队列和广度优先搜索 | ||
- ~~[广度优先搜索知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/04.Queue/02.Queue-BFS/01.Queue-BFS.md)~~ | ||
- [广度优先搜索题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/04.Queue/02.Queue-BFS/10.Queue-BFS-List.md) | ||
- 优先队列 | ||
- ~~[优先队列知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/04.Queue/03.Priority-Queue/01.Priority-Queue.md)~~ | ||
- [优先队列题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/04.Queue/03.Priority-Queue/10.Priority-Queue-List.md) | ||
|
||
## 05. 哈希表 | ||
|
||
- ~~[哈希表知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/05.Hash-Table/01.Hash-Table.md)~~ | ||
- [哈希表题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/05.Hash-Table/10.Hash-Table-List.md) | ||
|
||
## 06. 字符串 | ||
|
||
- 字符串基础知识 | ||
- ~~[字符串基础知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/06.String/01.String-Basic/01.String-Basic.md)~~ | ||
- [字符串经典题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/06.String/01.String-Basic/10.String-Basic-List.md) | ||
- ~~单模式串匹配算法~~ | ||
- ~~BF 算法~~ | ||
- ~~BM 算法~~ | ||
- ~~KMP 算法~~ | ||
- ~~RK 算法~~ | ||
- ~~Sunday 算法~~ | ||
- ~~单模式串匹配题目~~ | ||
- 多模式串匹配 | ||
- 字典树 | ||
- [字典树知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/06.String/03.String-Multi-Pattern-Matching/01.Tire-Tree/01.Tire-Tree.md) | ||
- [字典树题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/06.String/03.String-Multi-Pattern-Matching/01.Tire-Tree/01.Tire-Tree-List.md) | ||
- ~~AC 自动机~~ | ||
|
||
## 07. 树 | ||
|
||
- [树基础知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/01.Tree-Basic/01.Tree-Basic.md) | ||
- 二叉树 | ||
- [二叉树基础知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/02.Binary-Tree/01.Binary-Tree-Basic/01.Binary-Tree-Basic.md) | ||
- 二叉树遍历 | ||
- ~~[二叉树遍历知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/02.Binary-Tree/02.Binary-Tree-Traverse/01.Binary-Tree-Traverse.md)~~ | ||
- [二叉树遍历题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/02.Binary-Tree/02.Binary-Tree-Traverse/10.Binary-Tree-Traverse-List.md) | ||
- 二叉树递归 | ||
- ~~[二叉树递归知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/02.Binary-Tree/03.Binary-Tree-Recursive/01.Binary-Tree-Recursive.md)~~ | ||
- [二叉树递归题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/02.Binary-Tree/03.Binary-Tree-Recursive/10.Binary-Tree-Recursive-List.md) | ||
- 二叉树构造 | ||
- ~~[二叉树构造知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/02.Binary-Tree/04.Binary-Tree-Construction/01.Binary-Tree-Construction.md)~~ | ||
- [二叉树构造题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/02.Binary-Tree/04.Binary-Tree-Construction/10.Binary-Tree-Construction-List.md) | ||
- 二叉搜索树 | ||
- ~~[二叉搜索树知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/03.Binary-Search-Tree/01.Binary-Search-Tree.md)~~ | ||
- [二叉搜索树题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/03.Binary-Search-Tree/10.Binary-Search-Tree-List.md) | ||
- 线段树 | ||
- [线段树知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/04.Segment-Tree/01.Segment-Tree.md) | ||
- 树状数组 | ||
- ~~[树状数组知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/05.Binary-Indexed-Tree/01.Binary-Indexed-Tree.md)~~ | ||
- [树状数组题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/05.Binary-Indexed-Tree/10.Binary-Indexed-Tree-List.md) | ||
- 并查集 | ||
- ~~[并查集知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/06.Union-Find/01.Union-Find.md)~~ | ||
- [并查集题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/07.Tree/06.Union-Find/10.Union-Find-List.md) | ||
|
||
## 08. 图论 | ||
|
||
- ~~图论基础知识~~ | ||
- ~~拓扑排序~~ | ||
- ~~欧拉路径~~ | ||
- ~~哈密顿路径~~ | ||
- ~~生成树~~ | ||
- ~~最小生成树~~ | ||
- ~~次小生成树~~ | ||
- ~~最小树形图~~ | ||
- ~~单源最短路~~ | ||
- ~~多源最短路径~~ | ||
- ~~K 短路径~~ | ||
- ~~差分约束系统~~ | ||
- ~~强连通分量~~ | ||
- ~~双联通分量~~ | ||
- ~~LCA~~ | ||
- ~~二分图~~ | ||
- ~~网络流~~ | ||
|
||
## 09. 基础算法 | ||
|
||
- 枚举算法 | ||
- ~~[枚举算法知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/01.Enumeration-Algorithm/01.Enumeration-Algorithm.md)~~ | ||
- [枚举算法题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/01.Enumeration-Algorithm/10.Enumeration-Algorithm-List.md) | ||
- 递归算法 | ||
- ~~[递归算法知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/02.Recursive-Algorithm/01.Recursive-Algorithm.md)~~ | ||
- [递归算法题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/02.Recursive-Algorithm/10.Recursive-Algorithm-List.md) | ||
- 回溯算法 | ||
- ~~[回溯算法知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/05.Backtracking-Algorithm/01.Backtracking-Algorithm.md)~~ | ||
- [回溯算法题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/05.Backtracking-Algorithm/10.Backtracking-Algorithm-List.md) | ||
- 贪心算法 | ||
- ~~[贪心算法知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/03.Greedy-Algorithm/01.Greedy-Algorithm.md)~~ | ||
- [贪心算法题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/03.Greedy-Algorithm/10.Greedy-Algorithm-List.md) | ||
- 分治算法 | ||
- ~~[分治算法知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/04.Divide-And-Conquer-Algorithm/01.Divide-And-Conquer-Algorithm.md)~~ | ||
- [分治算法题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/04.Divide-And-Conquer-Algorithm/10.Divide-And-Conquer-Algorithm-List.md) | ||
- 动态规划 | ||
- ~~[动态规划知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/06.Dynamic-Programming/01.Dynamic-Programming.md)~~ | ||
- [动态规划题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/06.Dynamic-Programming/10.Dynamic-Programming-List.md) | ||
- 位运算 | ||
- ~~[位运算知识](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/07.Bit-Operation/01.Bit-Operation.md)~~ | ||
- [位运算题目](https://github.com/itcharge/LeetCode-Py/blob/main/Contents/09.Algorithm-Base/07.Bit-Operation/10.Bit-Operation-List.md) | ||
|
||
- **「算法与数据结构」** 基础知识的讲解教程,「LeetCode」650+ 道题目的详细解析。本项目易于理解,没有大跨度的思维跳跃,项目中使用部分图示、例子来帮助理解。 | ||
|
||
- 本教程先从基础的数据结构和算法开始讲解,再针对不同分类的数据结构和算法,进行具体题目的讲解分析。让读者可以通过「算法基础理论学习」和「编程实战学习」相结合的方式,彻底的掌握算法知识。 | ||
|
||
- 本教程采用 Python 作为编程语言,要求学习者已有基本 Python 程序设计的知识与经验。 | ||
|
||
## 项目简介 | ||
|
||
### 项目地址: | ||
|
||
欢迎 **「Star ⭐️ 」** 和 **「Fork」**,这是对我最大的鼓励和支持。 | ||
|
||
- GitHub 地址:[https://github.com/itcharge/LeetCode-Py](https://github.com/itcharge/LeetCode-Py) | ||
|
||
支持黑暗模式的在线电子书《算法通关手册》。 | ||
|
||
- 电子书地址:[https://algo.itcharge.cn](https://algo.itcharge.cn) | ||
|
||
![](https://github.com/itcharge/LeetCode-Py/blob/main/Assets/Images/algo-book-light.png) | ||
|
||
![](https://github.com/itcharge/LeetCode-Py/blob/main/Assets/Images/algo-book-dark.png) | ||
|
||
## 关于作者 | ||
|
||
我是一名 iOS / macOS 的开发程序员,另外也是北航软院的一名非全硕士(在读)。曾在大学期间学习过算法知识,并参加过 3 年的 ACM 比赛, 但水平有限,未能取得理想成绩。但是这 3 年的 ACM 经历,给我最大的收获是锻炼了自己的逻辑思维和解决实际问题的能力,这种能力为我今后的工作、学习打下了坚实的基础。 | ||
|
||
我从 2021 年 03 月 30 日开始每日在 LeetCode 刷题,到 2021 年 11 月 26 日已经刷了 700+ 道题目,并且完成了 650+ 道题解。努力向着 1000+、1500+、2000+ 道题前进。 | ||
|
||
在公众号 **「程序员充电站」** 里回复 "**算法打卡**",拉你进 LeetCode 算法打卡计划群一起组队打卡。 | ||
|
||
- 进群暗号:**算法打卡** | ||
- 进群要求:少闲聊、多分享、改备注。 | ||
|
||
![](https://github.com/itcharge/LeetCode-Py/blob/main/Assets/Images/itcharge-qr-code.png) | ||
|
||
## 版权说明 | ||
|
||
- 本教程采用 [知识署名—非商业性使用—禁止演绎(BY-NC-ND)4.0 协议国际许可协议](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode.zh-Hans) 进行许可。 | ||
- 本教程题解中的所有题目版权均归 [LeetCode](https://leetcode.com/) 和 [力扣中国](https://leetcode-cn.com/) 所有。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters