🎯 什麼情境該想到我
當你要決定「一堆資料該用什麼結構存」,或發現查找/插入很慢時。選對結構,效能天差地別。
⚙️ 怎麼用(依「主要操作」選)
- 常隨機存取、少增刪 → 陣列(O(1) 索引)。
- 常在中間插入/刪除 → 鏈結串列。
- 常用鍵查值 / 去重 → 雜湊表(平均 O(1))。
- 需要保持有序 + 範圍查詢 → 平衡樹 / 有序結構(O(log n))。
- 常取最大/最小 → 堆積(Heap / 優先佇列)。
- 關係/連通/最短路 → 圖。
先問:這份資料最常做哪個操作? 那個操作要快,就選對應結構。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 選擇是「操作頻率」的取捨,沒有全能結構;查得快的常插得慢,反之亦然。
🔗 相關工具
- 工具-時間複雜度分析、工具-儲存引擎B-Tree與LSM-Tree(DB 層的資料結構取捨)