C02 · 資料結構與演算法 詳細 ROADMAP
計畫文件,不會被 Quartz 渲染。 回 foundations →
../index.md/ 公開頁 →index.md
章節目標
跨語言通用的資料結構 + 演算法知識庫。每篇包含:概念、ASCII 視覺化、Java 實作、時間 / 空間複雜度。
跟其他系列分工:
- 本章 = 通用知識(不限語言 / 場景)
- infra/data-ops/ I04 = 應用層(用 B-Tree 的 DB 運維、Hash 表的 Redis、BloomFilter 應用)
- backend/database/ B03 = 選型決策(什麼資料用哪種 DB)
🧠 知識型(現有 + 待補)
F-A Algorithms 演算法
| # | 主題 | Slug | Stage |
|---|---|---|---|
| 01 | Searching | 01-searching | 🌿 |
| 02 | Sorting | 02-sorting | 🌿 |
| 03 | Dynamic Programming(多集) | algo-03-dynamic-programming/ | 🌿 |
| 04 | Recursion | 04-recursion | 🌿 |
| 05 | Graph Algorithms(多集) | algo-05-graph-algorithms/ | 🌿 |
| 06 | Greedy | 06-greedy | 🌿 |
| 07 | String Algorithms | 07-string-algorithms | 🌿 |
| 08 | Bit Manipulation | 08-bit-manipulation | 🌿 |
| 09 | Two Pointers | 09-two-pointers | 🌿 |
| 10 | Sliding Window | 10-sliding-window | 🌿 |
| 11 | More Sorting | 11-more-sorting | 🌿 |
| 12 | Advanced Graph | 12-advanced-graph | 🌿 |
| 13 | Backtracking | 13-backtracking | 🌿 |
| 14 | Divide and Conquer | 14-divide-and-conquer | 🌿 |
| 15 | Monotone Stack | 15-monotone-stack | 🌿 |
| 16 | Prefix Sum | 16-prefix-sum | 🌿 |
| 17 | Math Algorithms | 17-math-algorithms | 🌿 |
| 35 | Suffix Array / Suffix Tree(新增) | 35-suffix-array | 🌱 |
| 36 | Computational Geometry 基礎(新增) | 36-computational-geometry | 🌱 |
F-B Data Structures 資料結構(檔案編號 18-34,跟 F-A 連續)
| # | 主題 | Slug | Stage |
|---|---|---|---|
| 18 | Array | 18-array | 🌿 |
| 19 | Linked List | 19-linked-list | 🌿 |
| 20 | Stack | 20-stack | 🌿 |
| 21 | Queue | 21-queue | 🌿 |
| 22 | Hash Table | 22-hash-table | 🌿 |
| 23 | Tree | 23-tree | 🌿 |
| 24 | Heap | 24-heap | 🌿 |
| 25 | Graph | 25-graph | 🌿 |
| 26 | Trie | 26-trie | 🌿 |
| 27 | AVL Tree | 27-avl-tree | 🌿 |
| 28 | Segment Tree | 28-segment-tree | 🌿 |
| 29 | Fenwick Tree | 29-fenwick-tree | 🌿 |
| 30 | Union-Find | 30-union-find | 🌿 |
| 31 | LRU Cache | 31-lru-cache | 🌿 |
| 32 | Deque | 32-deque | 🌿 |
| 33 | Skip List | 33-skip-list | 🌿 |
| 34 | Bloom Filter | 34-bloom-filter | 🌿 |
| 37 | Red-Black Tree(新增) | 37-red-black-tree | 🌱 |
| 38 | B-Tree / B+ Tree(新增,⭐ 最重要) | 38-b-tree | 🌱 |
| 39 | HyperLogLog(新增,⭐) | 39-hyperloglog | 🌱 |
| 40 | Count-Min Sketch / Cuckoo Filter(新增) | 40-sketches | 🌱 |
| 41 | KD-Tree / R-Tree(新增) | 41-spatial-tree | 🌱 |
🔧 小實作注意事項
(演算法系列以概念為主,每篇已附 Java 實作)
| # | 主題 | Slug | Stage |
|---|---|---|---|
| 23 | LeetCode 刷題路線 | 23-leetcode-roadmap | 🌱 |
💣 Anti-pattern
| # | 主題 | Slug | Stage |
|---|---|---|---|
| 24 | 演算法選型 Anti-patterns | 24-algorithm-antipatterns | 🌱 |
章節進度統計
- 知識主題:原 34(17 algo + 17 ds)+ 7 新增 + 2 補充 = 43 項
- 🌿 growing:34
- 🌱 seed:9
本章內容範圍變更(2026-04):
- 新增 5 個關鍵 DS:Red-Black Tree、B-Tree、HyperLogLog、Count-Min Sketch、KD/R-Tree
- 新增 2 個進階 algo:Suffix Array、Computational Geometry
跨系列連結
- →
infra/data-ops/I04(DS 的實戰應用:B-Tree 在 PG、Hash 在 Redis、BloomFilter 在 cache) - →
backend/database/B03(DB 選型) - →
backend/micro-service/33-cache-correct-usage(LRU Cache 實戰)