# algorithm-tutorial **Repository Path**: pg13824/algorithm-tutorial ## Basic Information - **Project Name**: algorithm-tutorial - **Description**: No description available - **Primary Language**: Unknown - **License**: CC-BY-SA-4.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-05 - **Last Updated**: 2026-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

star fork build code style

ALGORITHM

> 💾 algorithm 是一个数据结构与算法学习笔记。 > > 掌握数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样。 > > - 🔁 项目同步维护:[Github](https://github.com/dunwu/algorithm-tutorial/) | [Gitee](https://gitee.com/turnon/algorithm-tutorial/) > - 📖 电子书阅读:[Github Pages](https://dunwu.github.io/algorithm-tutorial/) | [Gitee Pages](http://turnon.gitee.io/algorithm-tutorial/) ## 📖 内容 ![img](https://raw.githubusercontent.com/dunwu/images/master/snap/20200702071922.png) - 综合 - [数据结构和算法指南](docs/01.数据结构和算法/00.综合/01.数据结构和算法指南.md) - [复杂度分析](docs/01.数据结构和算法/00.综合/02.复杂度分析.md) - 关键词:**`时间复杂度`**、**`空间复杂度`**、**`大 O 表示法`**、**`复杂度量级`** - 线性表 - [数组和链表](docs/01.数据结构和算法/01.线性表/01.数组和链表.md) - 关键词:**`线性表`**、**`一维数组`**、**`多维数组`**、**`随机访问`**、**`单链表`**、**`双链表`**、**`循环链表`** - [栈和队列](docs/01.数据结构和算法/01.线性表/02.栈和队列.md) - 关键词:**`先进后出`**、**`后进先出`**、**`循环队列`** - [线性表的查找](docs/01.数据结构和算法/01.线性表/11.线性表的查找.md) - [线性表的排序](docs/01.数据结构和算法/01.线性表/12.线性表的排序.md) - 树 - [树和二叉树](docs/01.数据结构和算法/02.树/01.树和二叉树.md) - [堆](docs/01.数据结构和算法/02.树/02.堆.md) - [B+树](docs/01.数据结构和算法/02.树/03.B+树.md) - [LSM 树](docs/01.数据结构和算法/02.树/04.LSM树.md) - [字典树](docs/01.数据结构和算法/02.树/05.字典树.md) - [红黑树](docs/01.数据结构和算法/02.树/06.红黑树.md) - [哈希表](docs/01.数据结构和算法/03.哈希表.md) - 关键词:**`哈希函数`**、**`装载因子`**、**`哈希冲突`**、**`开放寻址法`**、**`拉链法`** - [跳表](docs/01.数据结构和算法/04.跳表.md) - 关键词:**`多级索引`** - [图](docs/01.数据结构和算法/05.图.md) ## 💻 刷题 ### 链表 #### 基础操作 | 题目 | 难度 | 掌握度 | | --------------------------------------------------------------------------------------------------------- | ---- | ------ | | [1290. 二进制链表转整数](https://leetcode.cn/problems/convert-binary-number-in-a-linked-list-to-integer/) | 💚 | ✔️ | #### 双指针技巧 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------------------------------ | ---- | ------ | | [141. 环形链表](https://leetcode.cn/problems/linked-list-cycle/) | 💚 | ✔️ | | [142. 环形链表 II](https://leetcode.cn/problems/linked-list-cycle-ii/) | 💛 | ✔️ | | [160. 相交链表](https://leetcode.cn/problems/intersection-of-two-linked-lists/) | 💚 | ✔️ | | [19. 删除链表的倒数第 N 个结点](https://leetcode.cn/problems/remove-nth-node-from-end-of-list/) | 💛 | ✔️ | | [21. 合并两个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists/) | 💚 | ✔️ | | [23. 合并 K 个升序链表](https://leetcode.cn/problems/merge-k-sorted-lists/) | ❤️ | ✔️ | | [86. 分隔链表](https://leetcode.cn/problems/partition-list/) | 💛 | ✔️ | | [876. 链表的中间结点](https://leetcode.cn/problems/middle-of-the-linked-list/) | 💚 | ✔️ | | [面试题 02. 返回倒数第 k 个节点](https://leetcode.cn/problems/kth-node-from-end-of-list-lcci/) | 💚 | ✔️ | | [面试题 02.01. 移除重复节点](https://leetcode.cn/problems/remove-duplicate-node-lcci/) | 💚 | ✔️ | | [203. 移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/) | 💚 | ✔️ | | [328. 奇偶链表](https://leetcode.cn/problems/odd-even-linked-list/) | 💛 | ✔️ | | [LCR 136. 删除链表的节点](https://leetcode.cn/problems/shan-chu-lian-biao-de-jie-dian-lcof/) | 💚 | ✔️ | | [83. 删除排序链表中的重复元素](https://leetcode.cn/problems/remove-duplicates-from-sorted-list/) | 💚 | ✔️ | | [82. 删除排序链表中的重复元素 II](https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/) | 💛 | ✔️ | | [2. 两数相加](https://leetcode.cn/problems/add-two-numbers/) | 💛 | ✔️ | | [445. 两数相加 II](https://leetcode.cn/problems/add-two-numbers-ii/) | 💛 | ✔️ | #### 单链表反转 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------ | ---- | ------ | | [61. 旋转链表](https://leetcode.cn/problems/rotate-list/) | 💛 | ✔️ | | [206. 反转链表](https://leetcode.cn/problems/reverse-linked-list/) | 💚 | ✔️ | | [92. 反转链表 II](https://leetcode.cn/problems/reverse-linked-list-ii/) | 💛 | ✔️ | | [25. K 个一组翻转链表](https://leetcode.cn/problems/reverse-nodes-in-k-group/) | ❤️ | ✔️ | #### 分治 | 题目 | 难度 | 掌握度 | | -------------------------------------------------------- | ---- | ------ | | [148. 排序链表](https://leetcode.cn/problems/sort-list/) | 💛 | ❌ | #### 回文链表 | 题目 | 难度 | 掌握度 | | --------------------------------------------------------------------- | ---- | ------ | | [234. 回文链表](https://leetcode.cn/problems/palindrome-linked-list/) | 💚 | ✔️ | ### 数组 #### 基础 | 题目 | 难度 | 掌握度 | | -------------------------------------------------------------------------------------------------------- | ---- | ------ | | [485. 最大连续 1 的个数](https://leetcode.cn/problems/max-consecutive-ones/) | 💚 | ✔️ | | [747. 至少是其他数字两倍的最大数](https://leetcode.cn/problems/largest-number-at-least-twice-of-others/) | 💚 | ✔️ | #### 双指针技巧 | 题目 | 难度 | 掌握度 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [27. 移除元素](https://leetcode.cn/problems/remove-element/) | 💚 | ✔️ | | [283. 移动零](https://leetcode.cn/problems/move-zeroes/) | 💚 | ✔️ | | [LCR 179. 查找总价格为目标值的两个商品](https://leetcode.cn/problems/he-wei-sde-liang-ge-shu-zi-lcof/) | 💚 | ✔️ | | [1. 两数之和](https://leetcode.cn/problems/two-sum/) | 💚 | ✔️ | | [67. 二进制求和](https://leetcode.cn/problems/add-binary/) | 💚 | ✔️ | | [167. 两数之和 II - 输入有序数组](https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/)
[LCR 006. 两数之和 II - 输入有序数组](https://leetcode.cn/problems/kLl5u1/) | 💛 | ✔️ | | [26. 删除有序数组中的重复项](https://leetcode.cn/problems/remove-duplicates-from-sorted-array/) | 💚 | ✔️ | | [80. 删除有序数组中的重复项 II](https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/) | 💛 | ✔️ | | [344. 反转字符串](https://leetcode.cn/problems/reverse-string/) | 💚 | ✔️ | | [125. 验证回文串](https://leetcode.cn/problems/valid-palindrome/) | 💚 | ✔️ | | [5. 最长回文子串](https://leetcode.cn/problems/longest-palindromic-substring/) | 💛 | ✔️ | | [75. 颜色分类](https://leetcode.cn/problems/sort-colors/) | 💛 | ✔️ | | [88. 合并两个有序数组](https://leetcode.cn/problems/merge-sorted-array/) | 💚 | ✔️ | | [977. 有序数组的平方](https://leetcode.cn/problems/squares-of-a-sorted-array/) | 💚 | ✔️ | | [1329. 将矩阵按对角线排序](https://leetcode.cn/problems/sort-the-matrix-diagonally/) | 💛 | ✔️ | | [1260. 二维网格迁移](https://leetcode.cn/problems/shift-2d-grid/) | 💚 | ✔️ | | [867. 转置矩阵](https://leetcode.cn/problems/transpose-matrix/) | 💚 | ✔️ | | [14. 最长公共前缀](https://leetcode.cn/problems/longest-common-prefix/) | 💚 | ✔️ | | [15. 三数之和](https://leetcode.cn/problems/3sum/) | 💛 | ❗ | | [56. 合并区间](https://leetcode.cn/problems/merge-intervals/) | 💛 | ✔️ | #### 二维数组遍历 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---- | ------ | | [151. 反转字符串中的单词](https://leetcode.cn/problems/reverse-words-in-a-string/) | 💛 | ✔️ | | [48. 旋转图像](https://leetcode.cn/problems/rotate-image/) | 💛 | ✔️ | | [54. 螺旋矩阵](https://leetcode.cn/problems/spiral-matrix/)
[LCR 146. 螺旋遍历二维数组](https://leetcode.cn/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/) | 💛 | ✔️ | | [59. 螺旋矩阵 II](https://leetcode.cn/problems/spiral-matrix-ii/) | 💛 | ✔️ | | [498. 对角线遍历](https://leetcode.cn/problems/diagonal-traverse/) | 💛 | ❌ | | [面试题 01.08. 零矩阵](https://leetcode.cn/problems/zero-matrix-lcci/) | 💛 | ✔️ | #### 滑动窗口算法 | 题目 | 难度 | 掌握度 | | -------------------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [3. 无重复字符的最长子串](https://leetcode.cn/problems/longest-substring-without-repeating-characters/) | 💛 | ✔️ | | [438. 找到字符串中所有字母异位词](https://leetcode.cn/problems/find-all-anagrams-in-a-string/) | 💛 | ✔️ | | [567. 字符串的排列](https://leetcode.cn/problems/permutation-in-string/) | 💛 | ✔️ | | [76. 最小覆盖子串](https://leetcode.cn/problems/minimum-window-substring/) | ❤️ | ✔️ | | [1658. 将 x 减到 0 的最小操作数](https://leetcode.cn/problems/minimum-operations-to-reduce-x-to-zero/) | 💛 | ✔️ | | [713. 乘积小于 K 的子数组](https://leetcode.cn/problems/subarray-product-less-than-k/) | 💛 | ✔️ | | [1004. 最大连续 1 的个数 III](https://leetcode.cn/problems/max-consecutive-ones-iii/) | 💛 | ✔️ | | [424. 替换后的最长重复字符](https://leetcode.cn/problems/longest-repeating-character-replacement/) | 💛 | ✔️ | | [217. 存在重复元素](https://leetcode.cn/problems/contains-duplicate/) | 💚 | ✔️ | | [219. 存在重复元素 II](https://leetcode.cn/problems/contains-duplicate-ii/) | 💛 | ✔️ | | [220. 存在重复元素 III](https://leetcode.cn/problems/contains-duplicate-iii/) | ❤️ | ❌ | | [209. 长度最小的子数组](https://leetcode.cn/problems/minimum-size-subarray-sum/) | 💛 | ✔️ | | [395. 至少有 K 个重复字符的最长子串](https://leetcode.cn/problems/longest-substring-with-at-least-k-repeating-characters/) | 💛 | ❌ | #### 二分查找算法 | 题目 | 难度 | 掌握度 | | :-------------------------------------------------------------------------------------------------------------------------------------- | :--- | ------ | | [34. 在排序数组中查找元素的第一个和最后一个位置](https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/) | 💛 | ✔️ | | [35. 搜索插入位置](https://leetcode.cn/problems/search-insert-position/) | 💚 | ✔️ | | [704. 二分查找](https://leetcode.cn/problems/binary-search/) | 💚 | ✔️ | | [LCR 172. 统计目标成绩的出现次数](https://leetcode.cn/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/) | 💚 | ✔️ | | [875. 爱吃香蕉的珂珂](https://leetcode.cn/problems/koko-eating-bananas/) | 💛 | ❗ | | [1011. 在 D 天内送达包裹的能力](https://leetcode.cn/problems/capacity-to-ship-packages-within-d-days/) | 💛 | ✔️ | | [410. 分割数组的最大值](https://leetcode.cn/problems/split-array-largest-sum/) | ❤️ | ❌ | #### 前缀和数组 | 题目 | 难度 | 掌握度 | | ----------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [303. 区域和检索 - 数组不可变](https://leetcode.cn/problems/range-sum-query-immutable/) | 💚 | ✔️ | | [724. 寻找数组的中心下标](https://leetcode.cn/problems/find-pivot-index/) | 💚 | ✔️ | | [1013. 将数组分成和相等的三个部分](https://leetcode.cn/problems/partition-array-into-three-parts-with-equal-sum/) | 💚 | ✔️ | | [304. 二维区域和检索 - 矩阵不可变](https://leetcode.cn/problems/range-sum-query-2d-immutable/) | 💛 | ❌ | #### 差分数组 | 题目 | 难度 | 掌握度 | | ----------------------------------------------------------------------------- | ---- | ------ | | [1094. 拼车](https://leetcode.cn/problems/car-pooling/) | 💛 | ✔️ | | [1109. 航班预订统计](https://leetcode.cn/problems/corporate-flight-bookings/) | 💛 | ✔️ | ### 栈和队列 #### 队列 | 题目 | 难度 | 掌握度 | | ----------------------------------------------------------------------------------------------------- | ---- | ------ | | [225. 用队列实现栈](https://leetcode.cn/problems/implement-stack-using-queues/) | 💚 | ✔️ | | [933. 最近的请求次数](https://leetcode.cn/problems/number-of-recent-calls/) | 💚 | ❗ | | [622. 设计循环队列](https://leetcode.cn/problems/design-circular-queue/) | 💛 | ❌ | | [641. 设计循环双端队列](https://leetcode.cn/problems/design-circular-deque/) | 💛 | ❌ | | [1670. 设计前中后队列](https://leetcode.cn/problems/design-front-middle-back-queue/) | 💛 | ❌ | | [2073. 买票需要的时间](https://leetcode.cn/problems/time-needed-to-buy-tickets/) | 💚 | ✔️ | | [373. 查找和最小的 K 对数字](https://leetcode.cn/problems/find-k-pairs-with-smallest-sums/) | 💛 | ❌ | | [378. 有序矩阵中第 K 小的元素](https://leetcode.cn/problems/kth-smallest-element-in-a-sorted-matrix/) | 💛 | ❌ | #### 栈 | 题目 | 难度 | 掌握度 | | --------------------------------------------------------------------------------------- | ---- | ------ | | [20. 有效的括号](https://leetcode.cn/problems/valid-parentheses/) | 💚 | ✔️ | | [232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/) | 💚 | ✔️ | | [682. 棒球比赛](https://leetcode.cn/problems/baseball-game/) | 💚 | ✔️ | | [844. 比较含退格的字符串](https://leetcode.cn/problems/backspace-string-compare/) | 💚 | ✔️ | | [71. 简化路径](https://leetcode.cn/problems/simplify-path/) | 💛 | ✔️ | | [143. 重排链表](https://leetcode.cn/problems/reorder-list/) | 💛 | ✔️ | | [150. 逆波兰表达式求值](https://leetcode.cn/problems/evaluate-reverse-polish-notation/) | 💛 | ✔️ | | [388. 文件的最长绝对路径](https://leetcode.cn/problems/longest-absolute-file-path/) | 💛 | ❌ | | [155. 最小栈](https://leetcode.cn/problems/min-stack/) | 💛 | ✔️ | | [面试题 03.05. 栈排序](https://leetcode.cn/problems/sort-of-stacks-lcci/) | 💛 | ✔️ | | [895. 最大频率栈](https://leetcode.cn/problems/maximum-frequency-stack/) | ❤️ | ❌ | #### 单调栈 | 题目 | 难度 | 掌握度 | | ----------------------------------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [496. 下一个更大元素 I](https://leetcode.cn/problems/next-greater-element-i/) | 💚 | ✔️ | | [503. 下一个更大元素 II](https://leetcode.cn/problems/next-greater-element-ii/) | 💛 | ✔️ | | [739. 每日温度](https://leetcode.cn/problems/daily-temperatures/)
[剑指 Offer II 038. 每日温度](https://leetcode.cn/problems/iIQa4I/) | 💛 | ✔️ | | [1019. 链表中的下一个更大节点](https://leetcode.cn/problems/next-greater-node-in-linked-list/) | 💛 | ✔️ | | [1944. 队列中可以看到的人数](https://leetcode.cn/problems/number-of-visible-people-in-a-queue/) | ❤️ | ❌ | | [1475. 商品折扣后的最终价格](https://leetcode.cn/problems/final-prices-with-a-special-discount-in-a-shop/) | 💛 | ✔️ | | [901. 股票价格跨度](https://leetcode.cn/problems/online-stock-span/) | 💛 | ❌ | | [402. 移掉 K 位数字](https://leetcode.cn/problems/remove-k-digits/) | 💛 | ❌ | | [853. 车队](https://leetcode.cn/problems/car-fleet/) | 💛 | ❌ | | [581. 最短无序连续子数组](https://leetcode.cn/problems/shortest-unsorted-continuous-subarray/) | 💛 | ❌ | #### 单调队列 | 题目 | 难度 | 掌握度 | | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [LCR 184. 设计自助结算系统](https://leetcode.cn/problems/dui-lie-de-zui-da-zhi-lcof/) | 💛 | ❌ | | [239. 滑动窗口最大值](https://leetcode.cn/problems/sliding-window-maximum/) | ❤️ | ❌ | | [1438. 绝对差不超过限制的最长连续子数组](https://leetcode.cn/problems/longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit/) | 💛 | ❌ | | [862. 和至少为 K 的最短子数组](https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k/) | ❤️ | ❌ | | [918. 环形子数组的最大和](https://labuladong.online/algo/problem-set/monotonic-queue/#slug_maximum-sum-circular-subarray) | 💛 | ❌ | ### 树 #### 二叉树 | 题目 | 难度 | 掌握度 | | ---------------------------------------------------------------------------------------------------- | ---- | ------ | | [104. 二叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-binary-tree/) | 💚 | ✔️ | | [111. 二叉树的最小深度](https://leetcode.cn/problems/minimum-depth-of-binary-tree/) | 💚 | ✔️ | | [543. 二叉树的直径](https://leetcode.cn/problems/diameter-of-binary-tree/) | 💚 | ✔️ | | [114. 二叉树展开为链表](https://leetcode.cn/problems/flatten-binary-tree-to-linked-list/) | 💛 | ✔️ | | [226. 翻转二叉树](https://leetcode.cn/problems/invert-binary-tree/) | 💚 | ✔️ | | [654. 最大二叉树](https://leetcode.cn/problems/maximum-binary-tree/) | 💛 | ✔️ | | [297. 二叉树的序列化与反序列化](https://leetcode.cn/problems/serialize-and-deserialize-binary-tree/) | ❤️ | ❗ | | [222. 完全二叉树的节点个数](https://leetcode.cn/problems/count-complete-tree-nodes/) | 💚 | ✔️ | #### DFS | 题目 | 难度 | 掌握度 | | -------------------------------------------------------------------------------------- | ---- | ------ | | [144. 二叉树的前序遍历](https://leetcode.cn/problems/binary-tree-preorder-traversal/) | 💚 | ✔️ | | [94. 二叉树的中序遍历](https://leetcode.cn/problems/binary-tree-inorder-traversal/) | 💚 | ✔️ | | [145. 二叉树的后序遍历](https://leetcode.cn/problems/binary-tree-postorder-traversal/) | 💚 | ✔️ | | [872. 叶子相似的树](https://leetcode.cn/problems/leaf-similar-trees/) | 💚 | ✔️ | #### 用「遍历」思维解题 | 题目 | 难度 | 掌握度 | | ----------------------------------------------------------------------------------------------------- | ---- | ------ | | [257. 二叉树的所有路径](https://leetcode.cn/problems/binary-tree-paths/) | 💚 | ✔️ | | [129. 求根节点到叶节点数字之和](https://leetcode.cn/problems/sum-root-to-leaf-numbers/) | 💛 | ✔️ | | [199. 二叉树的右视图](https://leetcode.cn/problems/binary-tree-right-side-view/) | 💛 | ✔️ | | [988. 从叶结点开始的最小字符串](https://leetcode.cn/problems/smallest-string-starting-from-leaf/) | 💛 | ✔️ | | [1022. 从根到叶的二进制数之和](https://leetcode.cn/problems/sum-of-root-to-leaf-binary-numbers/) | 💚 | ✔️ | | [1457. 二叉树中的伪回文路径](https://leetcode.cn/problems/pseudo-palindromic-paths-in-a-binary-tree/) | 💛 | ✔️ | | [404. 左叶子之和](https://leetcode.cn/problems/sum-of-left-leaves/) | 💚 | ✔️ | | [623. 在二叉树中增加一行](https://leetcode.cn/problems/add-one-row-to-tree/) | 💛 | ✔️ | | [508. 出现次数最多的子树元素和](https://leetcode.cn/problems/most-frequent-subtree-sum/) | 💛 | ✔️ | | [563. 二叉树的坡度](https://leetcode.cn/problems/binary-tree-tilt/) | 💚 | ✔️ | | [814. 二叉树剪枝](https://leetcode.cn/problems/binary-tree-pruning/) | 💛 | ✔️ | | [1325. 删除给定值的叶子节点](https://leetcode.cn/problems/delete-leaves-with-a-given-value/) | 💛 | ✔️ | #### 用「分解」思维解题 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [105. 从前序与中序遍历序列构造二叉树](https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) | 💛 | ✔️ | | [106. 从中序与后序遍历序列构造二叉树](https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/) | 💛 | ✔️ | | [889. 根据前序和后序遍历构造二叉树](https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-postorder-traversal/) | 💛 | ✔️ | | [331. 验证二叉树的前序序列化](https://leetcode.cn/problems/verify-preorder-serialization-of-a-binary-tree/) | 💛 | ❌ | | [894. 所有可能的真二叉树](https://leetcode.cn/problems/all-possible-full-binary-trees/) | 💛 | ❌ | | [998. 最大二叉树 II](https://leetcode.cn/problems/maximum-binary-tree-ii/) | 💛 | ❌ | | [1110. 删点成林](https://leetcode.cn/problems/delete-nodes-and-return-forest/) | 💛 | ❌ | | [100. 相同的树](https://leetcode.cn/problems/same-tree/) | 💛 | ✔️ | | [101. 对称二叉树](https://leetcode.cn/problems/symmetric-tree/) | 💛 | ✔️ | | [951. 翻转等价二叉树](https://leetcode.cn/problems/flip-equivalent-binary-trees/) | 💛 | ✔️ | | [124. 二叉树中的最大路径和](https://leetcode.cn/problems/binary-tree-maximum-path-sum/) | ❤️ | ❌ | | [236. 二叉树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/) | 💛 | ❌ | #### 用「层序遍历」思维解题 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------------------------------------------------ | ---- | ------ | | [102. 二叉树的层序遍历](https://leetcode.cn/problems/binary-tree-level-order-traversal/) | 💛 | ✔️ | | [107. 二叉树的层序遍历 II](https://leetcode.cn/problems/binary-tree-level-order-traversal-ii/) | 💛 | ✔️ | | [103. 二叉树的锯齿形层序遍历](https://leetcode.cn/problems/binary-tree-zigzag-level-order-traversal/) | 💛 | ✔️ | | [116. 填充每个节点的下一个右侧节点指针](https://leetcode.cn/problems/populating-next-right-pointers-in-each-node/) | 💛 | ✔️ | | [117. 填充每个节点的下一个右侧节点指针 II](https://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii/) | 💛 | ✔️ | | [662. 二叉树最大宽度](https://leetcode.cn/problems/maximum-width-of-binary-tree/) | 💛 | ✔️ | | [515. 在每个树行中找最大值](https://leetcode.cn/problems/find-largest-value-in-each-tree-row/) | 💛 | ✔️ | | [637. 二叉树的层平均值](https://leetcode.cn/problems/average-of-levels-in-binary-tree/) | 💚 | ✔️ | | [958. 二叉树的完全性检验](https://leetcode.cn/problems/check-completeness-of-a-binary-tree/) | 💛 | ✔️ | | [1161. 最大层内元素和](https://leetcode.cn/problems/maximum-level-sum-of-a-binary-tree/) | 💛 | ✔️ | | [1302. 层数最深叶子节点的和](https://leetcode.cn/problems/deepest-leaves-sum/) | 💛 | ✔️ | | [1609. 奇偶树](https://leetcode.cn/problems/even-odd-tree/) | 💛 | ✔️ | | [919. 完全二叉树插入器](https://leetcode.cn/problems/complete-binary-tree-inserter/) | 💛 | ✔️ | | [863. 二叉树中所有距离为 K 的结点](https://leetcode.cn/problems/all-nodes-distance-k-in-binary-tree/) | 💛 | ❌ | | [LCR 149. 彩灯装饰记录 I](https://leetcode.cn/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/) | 💛 | ✔️ | | [LCR 150. 彩灯装饰记录 II](https://leetcode.cn/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/) | 💚 | ✔️ | | [LCR 151. 彩灯装饰记录 III](https://leetcode.cn/problems/cong-shang-dao-xia-da-yin-er-cha-shu-iii-lcof/) | 💛 | ✔️ | #### 二叉搜索树 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [1038. 从二叉搜索树到更大和树](https://leetcode.cn/problems/binary-search-tree-to-greater-sum-tree/) | 💛 | ✔️ | | [230. 二叉搜索树中第 K 小的元素](https://leetcode.cn/problems/kth-smallest-element-in-a-bst/) | 💛 | ✔️ | | [538. 把二叉搜索树转换为累加树](https://leetcode.cn/problems/convert-bst-to-greater-tree/) | 💛 | ✔️ | | [450. 删除二叉搜索树中的节点](https://leetcode.cn/problems/delete-node-in-a-bst/) | 💛 | ✔️ | | [700. 二叉搜索树中的搜索](https://leetcode.cn/problems/search-in-a-binary-search-tree/) | 💚 | ✔️ | | [701. 二叉搜索树中的插入操作](https://leetcode.cn/problems/insert-into-a-binary-search-tree/) | 💛 | ✔️ | | [98. 验证二叉搜索树](https://leetcode.cn/problems/validate-binary-search-tree/) | 💛 | ✔️ | | [96. 不同的二叉搜索树](https://leetcode.cn/problems/unique-binary-search-trees/) | 💛 | ❌ | | [95. 不同的二叉搜索树 II](https://leetcode.cn/problems/unique-binary-search-trees-ii/) | 💛 | ❌ | | [108. 将有序数组转换为二叉搜索树](https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/) | 💚 | ✔️ | | [783. 二叉搜索树节点最小距离](https://leetcode.cn/problems/minimum-distance-between-bst-nodes/) | 💚 | ✔️ | | [235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/) | 💛 | ❌ | | [1373. 二叉搜索子树的最大键值和](https://leetcode.cn/problems/maximum-sum-bst-in-binary-tree/) | ❤️ | ❌ | #### N 叉树 | 题目 | 难度 | 掌握度 | | :-------------------------------------------------------------------------------------- | :--: | ------ | | [429. N 叉树的层序遍历](https://leetcode.cn/problems/n-ary-tree-level-order-traversal/) | 💛 | ✔️ | | [559. N 叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-n-ary-tree/) | 💚 | ✔️ | | [589. N 叉树的前序遍历](https://leetcode.cn/problems/n-ary-tree-preorder-traversal/) | 💚 | ✔️ | | [590. N 叉树的后序遍历](https://leetcode.cn/problems/n-ary-tree-postorder-traversal/) | 💚 | ✔️ | ### 图 #### BFS/DFS | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------------ | ---- | ------ | | [797. 所有可能的路径](https://leetcode.cn/problems/all-paths-from-source-to-target/) | 💛 | ❗ | #### 环检测及拓扑排序算法 | 题目 | 难度 | 掌握度 | | :----------------------------------------------------------------- | ---- | ------ | | [207. 课程表](https://leetcode.cn/problems/course-schedule/) | 💛 | ❌ | | [210. 课程表 II](https://leetcode.cn/problems/course-schedule-ii/) | 💛 | ❌ | #### 二分图判定算法 | 题目 | 难度 | 掌握度 | | :---------------------------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [785. 判断二分图](https://leetcode.cn/problems/is-graph-bipartite/)
[LCR 106. 判断二分图](https://leetcode.cn/problems/vEAB3K/) | 💛 | ❌ | | [886. 可能的二分法](https://leetcode.cn/problems/possible-bipartition/) | 💛 | ❗ | #### 并查集算法 | 题目 | 难度 | 掌握度 | | :-------------------------------------------------------------------------------------------- | ---- | ------ | | [130. 被围绕的区域](https://leetcode.cn/problems/surrounded-regions/) | 💛 | ❌ | | [684. 冗余连接](https://leetcode.cn/problems/redundant-connection/) | 💛 | ✔️ | | [990. 等式方程的可满足性](https://leetcode.cn/problems/satisfiability-of-equality-equations/) | 💛 | ✔️ | #### Dijkstra 算法 | 题目 | 难度 | 掌握度 | | :--------------------------------------------------------------------------------------------------------------------------------- | ---- | ------ | | [743. 网络延迟时间](https://leetcode.cn/problems/network-delay-time/) | 💛 | ❌ | | [1631. 最小体力消耗路径](https://leetcode.cn/problems/path-with-minimum-effort/) | 💛 | ❌ | | [1514. 概率最大的路径](https://leetcode.cn/problems/path-with-maximum-probability/) | 💛 | ❌ | | [787. K 站中转内最便宜的航班](https://leetcode.cn/problems/cheapest-flights-within-k-stops/) | 💛 | ❌ | | [1368. 使网格图至少有一条有效路径的最小代价](https://leetcode.cn/problems/minimum-cost-to-make-at-least-one-valid-path-in-a-grid/) | ❤️ | ❌ | ### DFS / 回溯算法 #### 排列、组合、子集问题 子集、组合、排列相关问题,都可以考虑使用回溯算法求解。 | 题目 | 难度 | 掌握度 | | :--------------------------------------------------------------------- | ---- | ------ | | [46. 全排列](https://leetcode.cn/problems/permutations/) | 💛 | ✔️ | | [47. 全排列 II](https://leetcode.cn/problems/permutations-ii/) | 💛 | ✔️ | | [78. 子集](https://leetcode.cn/problems/subsets/) | 💛 | ✔️ | | [90. 子集 II](https://leetcode.cn/problems/subsets-ii/) | 💛 | ✔️ | | [77. 组合](https://leetcode.cn/problems/combinations/) | 💛 | ✔️ | | [39. 组合总和](https://leetcode.cn/problems/combination-sum/) | 💛 | ✔️ | | [40. 组合总和 II](https://leetcode.cn/problems/combination-sum-ii/) | 💛 | ✔️ | | [216. 组合总和 III](https://leetcode.cn/problems/combination-sum-iii/) | 💛 | ✔️ | #### 岛屿问题 | 题目 | 难度 | 掌握度 | | :--------------------------------------------------------------------------------- | ---- | ------ | | [200. 岛屿数量](https://leetcode.cn/problems/number-of-islands/) | 💛 | ❗ | | [1254. 统计封闭岛屿的数目](https://leetcode.cn/problems/number-of-closed-islands/) | 💛 | ❗ | | [1020. 飞地的数量](https://leetcode.cn/problems/number-of-enclaves/) | 💛 | ❗ | | [695. 岛屿的最大面积](https://leetcode.cn/problems/max-area-of-island/) | 💛 | ❗ | | [1905. 统计子岛屿](https://leetcode.cn/problems/count-sub-islands/) | 💛 | ❌ | #### 数独、N 皇后问题 | 题目 | 难度 | 掌握度 | | :-------------------------------------------------------- | ---- | ------ | | [37. 解数独](https://leetcode.cn/problems/sudoku-solver/) | ❤️ | ❌ | | [51. N 皇后](https://leetcode.cn/problems/n-queens/) | ❤️ | ❌ | | [52. N皇后 II](https://leetcode.cn/problems/n-queens-ii/) | ❤️ | ❌ | #### 练习 | 题目 | 难度 | 掌握度 | | :----------------------------------------------------------------------------------------------- | ---- | ------ | | [967. 连续差相同的数字](https://leetcode.cn/problems/numbers-with-same-consecutive-differences/) | 💛 | ❌ | | [491. 非递减子序列](https://leetcode.cn/problems/non-decreasing-subsequences/) | 💛 | ❌ | | [980. 不同路径 III](https://leetcode.cn/problems/unique-paths-iii/) | ❤️ | ❌ | | [526. 优美的排列](https://leetcode.cn/problems/beautiful-arrangement/) | 💛 | ❌ | | [131. 分割回文串](https://leetcode.cn/problems/palindrome-partitioning/) | 💛 | ❌ | | [93. 复原 IP 地址](https://leetcode.cn/problems/restore-ip-addresses/) | 💛 | ❌ | | [89. 格雷编码](https://leetcode.cn/problems/gray-code/) | 💛 | ❌ | | [17. 电话号码的字母组合](https://leetcode.cn/problems/letter-combinations-of-a-phone-number/) | 💛 | ❌ | | [79. 单词搜索](https://leetcode.cn/problems/word-search/) | 💛 | ❌ | ### BFS | 题目 | 难度 | 掌握度 | | :----------------------------------------------------------------------------------------------- | :--: | ------ | | [752. 打开转盘锁](https://leetcode.cn/problems/open-the-lock/) | 💛 | ❌ | | [773. 滑动谜题](https://leetcode.cn/problems/sliding-puzzle/) | ❤️ | ❌ | | [919. 完全二叉树插入器](https://leetcode.cn/problems/complete-binary-tree-inserter/) | 💛 | ✔️ | | [841. 钥匙和房间](https://leetcode.cn/problems/keys-and-rooms/) | 💛 | ✔️ | | [433. 最小基因变化](https://leetcode.cn/problems/minimum-genetic-mutation/) | 💛 | ❗ | | [1926. 迷宫中离入口最近的出口](https://leetcode.cn/problems/nearest-exit-from-entrance-in-maze/) | 💛 | ✔️ | | [1091. 二进制矩阵中的最短路径](https://leetcode.cn/problems/shortest-path-in-binary-matrix/) | 💛 | ✔️ | | [994. 腐烂的橘子](https://leetcode.cn/problems/rotting-oranges/) | 💛 | ✔️ | | [365. 水壶问题](https://leetcode.cn/problems/water-and-jug-problem/) | 💛 | ❌ | | [721. 账户合并](https://leetcode.cn/problems/accounts-merge/) | 💛 | ❌ | | [127. 单词接龙](https://leetcode.cn/problems/word-ladder/) | ❤️ | ❌ | ### 动态规划 #### 斐波那契 | 题目 | 难度 | 掌握度 | | --------------------------------------------------------------------------------- | :--: | :----: | | [509. 斐波那契数](https://leetcode.cn/problems/fibonacci-number/) | 💚 | ✔️ | | [1137. 第 N 个泰波那契数](https://leetcode.cn/problems/n-th-tribonacci-number/) | 💚 | ✔️ | | [70. 爬楼梯](https://leetcode.cn/problems/climbing-stairs/) | 💚 | ✔️ | | [746. 使用最小花费爬楼梯](https://leetcode.cn/problems/min-cost-climbing-stairs/) | 💚 | ✔️ | | [198. 打家劫舍](https://leetcode.cn/problems/house-robber/) | 💛 | ✔️ | | [740. 删除并获得点数](https://leetcode.cn/problems/delete-and-earn/) | 💛 | ✔️ | #### 一维 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------------------------ | :--: | :----: | | [2140. 解决智力问题](https://leetcode.cn/problems/solving-questions-with-brainpower/) | 💛 | ❌ | | [2466. 统计构造好字符串的方案数](https://leetcode.cn/problems/count-ways-to-build-good-strings/) | 💛 | ❌ | | [91. 解码方法](https://leetcode.cn/problems/decode-ways/) | 💛 | ❌ | | [983. 最低票价](https://leetcode.cn/problems/minimum-cost-for-tickets/) | 💛 | ❌ | | [264. 丑数 II](https://leetcode.cn/problems/ugly-number-ii/) | 💛 | ❗ | | [1201. 丑数 III](https://leetcode.cn/problems/ugly-number-iii/) | 💛 | ❌ | | [313. 超级丑数](https://leetcode.cn/problems/super-ugly-number/) | 💛 | ❌ | #### 矩阵 | 题目 | 难度 | 掌握度 | | ----------------------------------------------------------------------------- | :--: | :----: | | [118. 杨辉三角](https://leetcode.cn/problems/pascals-triangle/) | 💚 | ✔️ | | [119. 杨辉三角 II](https://leetcode.cn/problems/pascals-triangle-ii/) | 💚 | ✔️ | | [62. 不同路径](https://leetcode.cn/problems/unique-paths/) | 💛 | ✔️ | | [63. 不同路径 II](https://leetcode.cn/problems/unique-paths-ii/) | 💛 | ✔️ | | [64. 最小路径和](https://leetcode.cn/problems/minimum-path-sum/) | 💛 | ✔️ | | [120. 三角形最小路径和](https://leetcode.cn/problems/triangle/) | 💛 | ✔️ | | [931. 下降路径最小和](https://leetcode.cn/problems/minimum-falling-path-sum/) | 💛 | ✔️ | | [221. 最大正方形](https://leetcode.cn/problems/maximal-square/) | 💛 | ✔️ | #### 字符串 | 题目 | 难度 | 掌握度 | | ---------------------------------------------------------------------------------------------------------- | :--: | :----: | | [5. 最长回文子串](https://leetcode.cn/problems/longest-palindromic-substring/) | 💛 | ✔️ | | [139. 单词拆分](https://leetcode.cn/problems/word-break/) | 💛 | ❌ | | [72. 编辑距离](https://leetcode.cn/problems/edit-distance/) | 💛 | ❗ | | [583. 两个字符串的删除操作](https://leetcode.cn/problems/delete-operation-for-two-strings/) | 💛 | ❌ | | [712. 两个字符串的最小ASCII删除和](https://leetcode.cn/problems/minimum-ascii-delete-sum-for-two-strings/) | 💛 | ❌ | | [516. 最长回文子序列](https://leetcode.cn/problems/longest-palindromic-subsequence/) | 💛 | ❌ | | [115. 不同的子序列](https://leetcode.cn/problems/distinct-subsequences/) | ❤️ | ❌ | #### 最长递增/公共子序列 | 题目 | 难度 | 掌握度 | | --------------------------------------------------------------------------------------------------------------------------- | :--: | :----: | | [300. 最长递增子序列](https://leetcode.cn/problems/longest-increasing-subsequence/) | 💛 | ❌ | | [673. 最长递增子序列的个数](https://leetcode.cn/problems/number-of-longest-increasing-subsequence/) | 💛 | ❌ | | [646. 最长数对链](https://leetcode.cn/problems/maximum-length-of-pair-chain/) | 💛 | ✔️ | | [1218. 最长定差子序列](https://leetcode.cn/problems/longest-arithmetic-subsequence-of-given-difference/) | 💛 | ❌ | | [1027. 最长等差数列](https://leetcode.cn/problems/longest-arithmetic-subsequence/) | 💛 | ❌ | | [1143. 最长公共子序列](https://leetcode.cn/problems/longest-common-subsequence/) | 💛 | ❗ | | [1035. 不相交的线](https://leetcode.cn/problems/uncrossed-lines/) | 💛 | ❌ | | [1312. 让字符串成为回文串的最少插入次数](https://leetcode.cn/problems/minimum-insertion-steps-to-make-a-string-palindrome/) | ❤️ | ❌ | #### 背包问题 | 题目 | 难度 | 掌握度 | | ----------------------------------------------------------------------------- | ---- | ------ | | [416. 分割等和子集](https://leetcode.cn/problems/partition-equal-subset-sum/) | 💛 | ❌ | | [322. 零钱兑换](https://leetcode.cn/problems/coin-change/) | 💛 | ❌ | | [518. 零钱兑换 II](https://leetcode.cn/problems/coin-change-ii/) | 💛 | ❌ | #### 买卖股票的最佳时间/状态机 #### 其他 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------------------------------- | ---- | ------ | | [53. 最大子数组和](https://leetcode.cn/problems/maximum-subarray/) | 💛 | ❌ | | [354. 俄罗斯套娃信封问题](https://leetcode.cn/problems/russian-doll-envelopes/) | ❤️ | ❌ | ### 贪心算法 | 题目 | 难度 | 掌握度 | | -------------------------------------------------------------- | ---- | ------ | | [561. 数组拆分](https://leetcode.cn/problems/array-partition/) | 💚 | ❌ | | [55. 跳跃游戏](https://leetcode.cn/problems/jump-game/) | 💛 | ❌ | | [45. 跳跃游戏 II](https://leetcode.cn/problems/jump-game-ii/) | 💛 | ❌ | ### 分治算法 | 题目 | 掌握度 | | --------------------------------------------------------------------------- | ------ | | [23. 合并 K 个升序链表](https://leetcode.cn/problems/merge-k-sorted-lists/) | ✔️ | ### 数学 | 题目 | 难度 | 掌握度 | | ------------------------------------------------------ | ---- | ------ | | [66. 加一](https://leetcode.cn/problems/plus-one/) | 💚 | ✔️ | | [263. 丑数](https://leetcode.cn/problems/ugly-number/) | 💚 | ✔️ | ## 📚 资料 - **书籍** - **刷题必备** - 《剑指 offer》 - 《编程之美》 - 《编程之法:面试和算法心得》 - 《算法谜题》 都是思维题 - **基础** - [《编程珠玑(第 2 版)》](https://www.amazon.cn/gp/product/B00SFZH0DC/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00SFZH0DC&linkCode=as2&tag=vastwork-23) - [《编程珠玑(续)》](https://www.amazon.cn/gp/product/B0150BMQDM/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B0150BMQDM&linkCode=as2&tag=vastwork-23) - [《数据结构与算法分析 : C++描述(第 4 版)》](https://www.amazon.cn/gp/product/B01LDG2DSG/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B01LDG2DSG&linkCode=as2&tag=vastwork-23) - [《数据结构与算法分析 : C 语言描述(第 2 版)》](https://www.amazon.cn/gp/product/B002WC7NGS/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B002WC7NGS&linkCode=as2&tag=vastwork-23) - [《数据结构与算法分析 : Java 语言描述(第 2 版)》](https://www.amazon.cn/gp/product/B01CNP0CG6/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B01CNP0CG6&linkCode=as2&tag=vastwork-23) - [《算法(第 4 版)》](https://www.amazon.cn/gp/product/B009OCFQ0O/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B009OCFQ0O&linkCode=as2&tag=vastwork-23) - **算法设计** - [《算法设计与分析基础(第 3 版)》](https://www.amazon.cn/gp/product/B00S4HCQUI/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00S4HCQUI&linkCode=as2&tag=vastwork-23) - 《Algorithm Design Manual》 - 算法设计手册 红皮书 - [《算法导论》](https://www.amazon.cn/gp/product/B00AK7BYJY/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00AK7BYJY&linkCode=as2&tag=vastwork-23) - 是一本对算法介绍比较全面的经典书籍 - 《Algorithms on Strings,Trees and Sequences》 - 《Advanced Data Structures》 - 各种诡异高级的数据结构和算法 如元胞自动机、斐波纳契堆、线段树 600 块 - **学习网站** - https://labuladong.online/algo/ - https://github.com/TheAlgorithms/Java - https://github.com/nonstriater/Learn-Algorithms - https://github.com/trekhleb/javascript-algorithms - https://github.com/wangzheng0822/algo - https://github.com/kdn251/interviews/blob/master/README-zh-cn.md#%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84 - [July 博客](http://blog.csdn.net/v_july_v) - 《数学建模十大经典算法》 - 《数据挖掘领域十大经典算法》 - 《十道海量数据处理面试题》 - 《数字图像处理领域的二十四个经典算法》 - 《精选微软等公司经典的算法面试 100 题》 - [The-Art-Of-Programming-By-July](https://github.com/julycoding/The-Art-Of-Programming-By-July) - [微软面试 100 题](http://blog.csdn.net/column/details/ms100.html) - [程序员编程艺术](http://blog.csdn.net/v_JULY_v/article/details/6460494) - **基本算法演示** - - - **编程网站** - [leetcode](http://leetcode-cn.com/) - [openjudge](http://openjudge.cn/) - **教程** - [高级数据结构和算法](https://www.coursera.org/learn/gaoji-shuju-jiegou/) 北大教授张铭老师在 coursera 上的课程。完成这门课之时,你将掌握多维数组、广义表、Trie 树、AVL 树、伸展树等高级数据结构,并结合内排序、外排序、检索、索引有关的算法,高效地解决现实生活中一些比较复杂的应用问题。当然 coursera 上也还有很多其它算法方面的视频课程。 - [算法设计与分析 Design and Analysis of Algorithms](https://class.coursera.org/algorithms-001/lecture) 由北大教授 Wanling Qu 在 coursera 讲授的一门算法课程。首先介绍一些与算法有关的基础知识,然后阐述经典的算法设计思想和分析技术,主要涉及的算法设计技术是:分治策略、动态规划、贪心法、回溯与分支限界等。每个视频都配有相应的讲义(pdf 文件)以便阅读和复习。 - [算法面试通关 40 讲](https://time.geekbang.org/course/intro/100019701) - [数据结构与算法之美](https://time.geekbang.org/column/intro/100017301) - [Data Structures - Computer Science Course for Beginners](https://www.youtube.com/watch?v=zg9ih6SVACc) - 高赞 YouTube 视频教程 ## 🚪 传送 | [技术文档归档](https://github.com/dunwu/blog) | [算法和数据结构教程系列](https://github.com/dunwu/algorithm-tutorial) |