編程基礎篇 · 篇章彙總
彙總 · 八種結構一張決策表
十課走完,八種收納方式全部揭底。這一頁不講新東西,只做一件事:把它們擺上同一張桌子,讓你以後看到場景就能報出結構名。先掃一遍決策表,再玩選型器和快問快答,檢驗自己係咪真係可以幫 AI 寫嘅程式碼把關。
一 · 八種收納方式,一張表
每行一種結構:一句話口訣、最亮的強項、最疼的弱項、它在 AI 世界的真身、哪一課講的。留意「弱項」那一列——選錯結構的代價,全寫在那裏。
| 結構 | 一句話口訣 | 強項 | 弱項 | AI 裏的真身 | 出處 |
|---|---|---|---|---|---|
| 📚陣列 | 排排坐,按號找 | 按位置直達、末尾追加快 | 中間插入 / 刪除要全體挪位 | message list:你和 AI 的每句對話都躺在裏面 | 第 2 課 |
| 🥞棧 | 後進先出 | 撤銷、回溯、原路返回 | 只能動最上面那一個 | Cmd+Z、函式調用、Agent 的子任務;遞歸失控就「爆棧」 | 第 3 課 |
| 🚶隊列 | 先進先出 | 排隊公平、削峯兜底 | 不能插隊,中間的取不到 | 任務隊列、消息隊列:Agent 的活是排着隊幹的 | 第 4 課 |
| 🗃哈希表 | 算出位置,一步直達 | 查找 / 去重快到不講理 | 沒有順序,還要多花記憶體 | Set / 字典、session 查找、緩存的鍵、語料去重 | 第 5 課 |
| 💾緩存 | 算過的別再算 | 省時間也省錢 | 何時作廢最難拿捏 | KV Cache、語義緩存、瀏覽器緩存、CDN——帳單的隱形折扣 | 第 6 課 |
| 🌳樹變體:Trie 前綴樹 | 層層分叉,按層級找 | 天然表達嵌套與從屬 | 只認父子關係,平級互連表達不了 | 文件目錄、JSON、AST;Trie 是 Tokenizer 切詞的秘密 | 第 7 / 9 課 |
| 🕸圖 | 萬物皆可連 | 表達任意多對多關係 | 容易繞圈,遍歷成本高 | 知識圖譜、社交網絡、多 Agent 協作的 DAG 工作流 | 第 8 課 |
| 🧭向量 | 語義變座標,相似即鄰近 | 按「像不像」找東西 | 結果是近似的,還得配專門索引 | Embedding + RAG 檢索:找最近的鄰居;HNSW 讓億級瞬答 | 第 10 課 |
💡 手機上表格可以左右滑動查看
二 · 場景選型器:看到場景,報出結構
背表沒用,會選才算會。下面 8 個真實場景,先在心裏想好答案,再點卡片對答案。全部點完有彩蛋。
已對答案 0 / 8 個場景
🎉 八個場景全部通關!你已經擁有了這一章最想給你的東西——看到場景就能報出收納方式。下次 AI 交付程式碼,你不再是只會點「運行」的旁觀者,而係問得出「呢度點解用陣列挨個搵」嘅驗收人。
三 · 快問快答:給 AI 程式碼把關的直覺
6 道二選一,每道都來自前面十課的關鍵判斷。點選即時判定,留意解析裏的「為什麼」——那才是驗收時要説出口的話。
收官 · 一張決策心法
以後遇到任何數據場景,只問兩個問題。第一問「點樣搵」:按位置搵 → 陣列;按 key 找 → 哈希表;按層級找 → 樹;按關係找 → 圖;按相似找 → 向量。第二問「點樣進出」:先進先出 → 隊列;後進先出 → 棧。再加一條橫切的省錢心法:算過的別再算 → 緩存。兩問一心法,就是整章十課的全部骨架。
✅ 這一章想和你帶走的
- 數據結構 = 收納方式:從第一課的「找鑰匙」到今天,所有結構都是這一個隱喻的變體
- 先問「怎麼找」:按位置→陣列;按 key→哈希;按層級→樹;按關係→圖;按相似→向量
- 再問「怎麼進出」:先進先出→隊列;後進先出→棧
- 空間換時間是常青招:哈希表多備桶、緩存多存結果,換來的都是速度和帳單折扣
- 你的角色是驗收:不用手寫任何一種結構,但要能在 AI 的程式碼裏認出它們、問出那句「為什麼」