1. 数据结构与算法 - Rust 语言实现
  2. 第一部分: 数据结构 Data Structures
  3. 数组 Arrays
    1. 数组的基本操作
    2. 反转数组
    3. 旋转数组
    4. 前缀和数组 Prefix Sum Array
    5. 后缀数组 Suffix Array
  4. 矩阵 Matrix
    1. 矩阵的常用操作
    2. 稀疏矩阵
      1. 数组 Array
      2. 链表 Linked List
      3. List of Lists
      4. 十字链表 Orthogonal Linked List
      5. BTree
  5. 动态数组 Vector
    1. 动态数组的常用操作
    2. 标准库中 Vec 的实现
    3. 位图 BitSet
    4. 布隆过滤器 Bloom filter
    5. Hashed Array Tree
  6. 字符串 String
    1. 字符串编码
    2. 字符串的常用操作
  7. 链表 List
    1. 链表的类型
    2. 链表的基本操作
    3. 单链表
    4. 双链表
    5. 环状双链表
    6. Header Linked List
    7. Unrolled Linked List
    8. List of Lists
    9. 多层链表 Multi-level Linked List
    10. 跳跃表 Skip List
      1. 跳跃表的基本操作
      2. 跳跃表的实现
      3. 跳跃表的应用
  8. 栈 Stack
    1. 栈的基本操作
    2. 栈的实现
    3. 栈的应用
    4. 单调栈 Monotonic stack
  9. 队列 Queue
    1. 队列的分类
    2. 队列的基本操作
    3. 实现简单队列
    4. 环形缓冲区 Circular Buffer
    5. 单调队列 Monotonic queue
  10. 双端队列 Deque
    1. 双端队列的基本操作
    2. 双端队列的实现
    3. 标准库中 VecDeque 的实现
  11. 哈稀表 Hash Table
    1. 标准库中 HashMap 的实现
    2. 标准库中 HashSet 的实现
    3. LinkedHashMap
  12. 树 Tree
    1. 二叉树
      1. 二叉树的线性存储结构
      2. 二叉树的链式存储结构
      3. 二叉树的遍历 Traversal
      4. 二叉树的前序遍历
      5. 二叉树的中序遍历
      6. 二叉树的后序遍历
      7. 二叉树的层序遍历
    2. 二叉搜索树 Binary Search Tree
      1. 平衡二叉树 Optimal BST
    3. AVL树
    4. Splay Tree
    5. 红黑树 Red-Black Tree
    6. Left-leaning Red–Black Tree
    7. 多叉树
    8. B-Tree
    9. B+-Tree
    10. B*-Tree
    11. T-tree
    12. LSM Tree
    13. Fractal tree
    14. 标准库中 BTreeMap 的实现
    15. 字典树 Trie
      1. Radix Tree
      2. Suffix Tree
    16. 地理空间分区 Spatial Data Partitioning Trees
      1. R-tree
      2. Priority R-tree
      3. R* tree
      4. R+ tree
      5. X-tree
      6. k-d Tree
  13. 优先级队列 Priority Queue (Heap)
    1. Binary Heap
    2. 双优先级队列 Dual Priority Queue
    3. Skew Heap
    4. Binomial Heap
    5. Brodal Queue
    6. Fibonacci Heap
    7. Strict Fibonacci Heap
    8. 标准库中 Binary Heap 的实现
  14. 图 Graph
    1. 深度优先搜索 DFS
    2. 广度优先搜索 BFS
    3. 最短路径
    4. 最小生成树
  15. 并发数据结构 Concurrent Data Structures
    1. 简介
    2. Lock-coupling Linked List
    3. Concurrent Ring Buffer
    4. Concurrent Hash Map
    5. Concurrent Linked List
    6. Concurrent Deque
    7. Concurrent Queue
    8. Concurrent SkipList Map
    9. Concurrent SkipList Set
    10. Concurrent Radix Tree
    11. Skip Graph
  16. 第二部分: 算法 Algorithms
  17. 算法分析 Analysis
    1. 测试用的数据集
  18. 排序 Sorting
    1. 冒泡排序 Bubble sort
    2. 插入排序 Insertion sort
    3. 选择排序 Selection sort
    4. 归并排序 Merge sort
    5. Timsort
    6. 快速排序 Quicksort
    7. 堆排序 Heap Sort
    8. IntroSort
    9. pdqsort
    10. 希尔排序 Shell Sort
    11. 侏儒排序 Gnome Sort
    12. 桶排序 Bucket sort
    13. 基数排序 Radix Sort
    14. 计数排序 Counting Sort
    15. 标准库中排序算法的实现
  19. 链表排序 List Sort
    1. 冒泡排序 Bubble Sort
    2. 插入排序 Insertion Sort
    3. 选择排序 Selection Sort
    4. 归并排序 Merge Sort
    5. 快速排序 Quicksort
  20. 外部排序 External Sorting
    1. Multiway Merge
    2. Polyphase Merge
    3. Distribution Sort
    4. Cache-oblivious Distribution Sort
  21. 查找 Search
    1. 线性查找 Linear Search
    2. 二分查找 Binary Search
    3. 二分查找相关的问题列表
    4. 三元查找 Ternary Search
    5. Jump Search
    6. Interpolation Search
    7. Exponential Search
    8. 标准库中二分查找法的实现
  22. 位运算 Bit Manipulation
    1. 对自己异或操作结果为0
  23. 递归 Recursion
  24. 数学 Math
    1. 排列与组合
    2. 矩阵 Matrix
    3. 质数
    4. 数独
    5. 任意精度算术运算
  25. 双指针 Two Pointers
    1. 快慢型双指针
    2. 靠拢型双指针
    3. 并行双指针
  26. 滑动窗口 Sliding Window
  27. 回溯法 Backtracking
  28. 分治法 Divide and Conquer
  29. 动态规划 Dynamic Programming
  30. 贪心算法 Greedy
  31. 图算法 Graph
  32. 第三部分: 专题 Special
  33. 内存 Memory
  34. 缓存过期算法 Cache Management
    1. 倒计时 TTL
    2. 最近最少使用 LRU
    3. 最近最不频繁使用 LFU
  35. 限流算法 Rate limiter
    1. 令牌桶 Token bucket
    2. 漏桶算法 Leaking bucket
    3. 固定窗口计数 Fixed window counter
    4. 滑动窗口日志 Sliding window log
    5. 滑动窗口计数 Sliding window counter
  36. 第四部分: leetcode 题解
  37. leetcode 问题分类
    1. 数组 Array
      1. 矩阵 Matrix
      2. 前缀和 Prefix Sum
      3. 双指针 Two Pointers
      4. 滑动窗口 Sliding Window
      5. 二分查找 Binary Search
      6. 排序 Sorting
    2. 链表 Linked List
      1. 链表排序 Sorting
      2. 链表双指针 Two Pointers
    3. 队列 Queue
      1. 单调队列 Monotonic Queue
    4. 栈 Stack
      1. 单调栈 Monotonic Stack
    5. 优先级队列 Priority Queue
    6. 哈稀表 Hash Table
    7. 字符串 String
      1. 字符串匹配 String Matching
      2. 字典树 Trie
    8. 树 Tree
      1. 二叉树的遍历 Traversal
      2. 二叉树的还原 Restore
      3. 二叉搜索树 Binary Search Tree
      4. 二叉索引树 Binary Indexed Tree
      5. 线段树 Segment Tree
      6. 并查集 Union-Find Data Structure
    9. 图 Graph
      1. 最小生成树 Minimum Spanning Tree
    10. 递归 Recursion
    11. 位运算 Bit Manipulation
    12. 数学 Math
    13. 回溯法 Backtracking
    14. 分治法 Divide and Conquer
    15. 深度优先搜索 DFS
    16. 广度优先搜索 BFS
    17. 动态规划 Dynamic Programming
    18. 贪心算法 Greedy
  38. leetcode 题解
    1. 0001-0100
      1. 0001. 两数之和 Two Sum
      2. 0002. 两数相加 Add Two Numbers
      3. 0003. 无重复字符的最长子串 Longest Substring Without Repeating Characters
      4. 0004. 寻找两个正序数组的中位数 Median of Two Sorted Arrays
      5. 0005. 最长回文子串 Longest Palindromic Substring
      6. 0007. 整数反转 Reverse Integer
      7. 0011. 盛最多水的容器 Container With Most Water
      8. 0012. 整数转罗马数字 Integer to Roman
      9. 0013. 罗马数字转整数 Roman to Integer
      10. 0015. 三数之和 3Sum
      11. 0016. 最接近的三数之和 3Sum Closest
      12. 0020. 有效的括号 Valid Parentheses
      13. 0021.合并两个有序链表 Merge Two Sorted Lists
      14. 0026. 删除有序数组中的重复项 Remove Duplicates from Sorted Array
      15. 0031. 下一个排列 Next Permutation
      16. 0034. 在排序数组中查找元素的第一个和最后一个位置 Find First and Last Position of Element in Sorted Array
      17. 0035. 搜索插入位置 Search Insert Position
      18. 0039.组合总和 Combination Sum
      19. 0040. 组合总和 II Combination Sum II
      20. 0042. 接雨水 Trapping Rain Water
      21. 0046. 全排列 Permutations
      22. 0047. 全排列 II Permutations II
      23. 0056. 合并区间 Merge Intervals
      24. 0062. 不同路径 Unique Paths
      25. 0066. 加一 Plus One
      26. 0067. 二进制求和 Add Binary
      27. 0069. x 的平方根 Sqrt(x)
      28. 0071.简化路径 Simplify Path
      29. 0074. 搜索二维矩阵 Search a 2D Matrix
      30. 0075. 颜色分类 Sort Colors
      31. 0078. 子集 Subsets
      32. 0080. 删除排序数组中的重复项 II Remove Duplicates from Sorted Array II
      33. 0082. 删除排序链表中的重复元素 II Remove Duplicates from Sorted List II
      34. 0083. 删除排序链表中的重复元素 Remove Duplicates from Sorted List
      35. 0088. 合并两个有序数组 Merge Sorted Array
      36. 0090. 子集 II Subsets II
    2. 0101-0200
      1. 0125. 验证回文串 Valid Palindrome
      2. 0136. 只出现一次的数字 Single Number
      3. 0137. 只出现一次的数字II Single Number II
      4. 0150. 逆波兰表达式求值 Evaluate Reverse Polish Notation
      5. 0153. 寻找旋转排序数组中的最小值 Find Minimum in Rotated Sorted Array
      6. 0154. 寻找旋转排序数组中的最小值 II Find Minimum in Rotated Sorted Array II
      7. 0155. 最小栈 Min Stack
      8. 0162. 寻找峰值 Find Peak Element
      9. 0167. 两数之和 II - 输入有序数组 Two Sum II - Input Array Is Sorted
      10. 0189. 旋转数组 Rotate Array
      11. 0191. 位1的个数 Number of 1 Bits
    3. 0201-0300
      1. 0217. 存在重复元素 Contains Duplicate
      2. 0219. 存在重复元素II Contains Duplicate II
      3. 0231. 2的幂 Power of Two
      4. 0234. 回文链表 Palindrome Linked List
      5. 0238. 除自身以外数组的乘积 Product of Array Except Self
      6. 0240. Search a 2D Matrix II Search a 2D Matrix II
      7. 0278. 第一个错误的版本
      8. 0287. 寻找重复数 Find the Duplicate Number
    4. 0301-0400
      1. 0303. 区域和检索 - 数组不可变 Range Sum Query - Immutable
      2. 0322. 零钱兑换 Coin Change
      3. 0326. 3的幂 Power of Three
      4. 0338. 比特位计数 Counting Bits
      5. 0342. 4的幂 Power of Four
      6. 0347. 前 K 个高频元素 Top K Frequent Elements
      7. 0349. 两个数组的交集 Intersection of Two Arrays
      8. 0350. 两个数组的交集 II Intersection of Two Arrays II
      9. 0374. 猜数字大小 Guess Number Higher or Lower
      10. 0394. 字符串解码 Decode String
    5. 0401-0500
      1. 0463. 岛屿的周长 Island Perimeter
      2. 0468. 验证IP地址 Validate IP Address
      3. 0485. 最大连续1的个数 Max Consecutive Ones
      4. 0496. 下一个更大元素 I Next Greater Element I
    6. 0501-0600
      1. 0532.数组中的数对 K-diff Pairs in an Array
    7. 0601-0700
      1. 0679. 24 点游戏 24 Game
      2. 0680. 验证回文串 II Valid Palindrome II
    8. 0701-0800
      1. 0704. 二分查找 Binary Search
      2. 0707. 设计链表 Design Linked List
      3. 0724. 寻找数组的中心下标 Find Pivot Index
      4. 0739. 每日温度 Daily Temperatures
      5. 0744. 寻找比目标字母大的最小字母 Find Smallest Letter Greater Than Target
    9. 0801-0900
      1. 0852. 山脉数组的峰顶索引 Peak Index in a Mountain Array
    10. 0901-1000
      1. 0925. 长按键入 Long Pressed Name
      2. 0977. 有序数组的平方 Squares of a Sorted Array
    11. 1001-1100
      1. 1004. 最大连续1的个数 III Max Consecutive Ones III
    12. 1101-1200
    13. 1201-1300
    14. 1301-1400
    15. 1401-1500
      1. 1422. 分割字符串的最大得分 Maximum Score After Splitting a String
      2. 1480. 一维数组的动态和 Running Sum of 1d Array
      3. 1498. 满足条件的子序列数目 Number of Subsequences That Satisfy the Given Sum Condition
    16. 1501-1600
      1. 1518. 换水问题 Water Bottles
    17. 1601-1700
    18. 1701-1800
      1. 1732. 找到最高海拔 Find the Highest Altitude
      2. 1780. 判断一个数字是否可以表示成三的幂的和 Check if Number is a Sum of Powers of Three
    19. 1801-1900
      1. 1854. 人口最多的年份 Maximum Population Year
      2. 1893. 检查是否区域内所有整数都被覆盖 Check if All the Integers in a Range Are Covered
    20. 1901-2000
      1. 1991. 找到数组的中间位置 Find the Middle Index in Array
    21. 2101-2200
      1. 2108. 找出数组中的第一个回文字符串 Find First Palindromic String in the Array
      2. 2119. 反转两次的数字 A Number After a Double Reversal
    22. 2401-2500
      1. 2485. 找出中枢整数 Find the Pivot Integer
    23. 2501-2600
      1. 2574. 左右元素和的差值 Left and Right Sum Differences
    24. 2801-2900
      1. 2848. 与车相交的点 Points That Intersect With Cars
    25. 3001-3100
      1. 3028. 边界上的蚂蚁 Ant on the Boundary
  39. 参考资料