编程基础篇 · 篇章汇总
汇总 · 八种结构一张决策表
十课走完,八种收纳方式全部揭底。这一页不讲新东西,只做一件事:把它们摆上同一张桌子,让你以后看到场景就能报出结构名。先扫一遍决策表,再玩选型器和快问快答,检验自己是不是真的能给 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 的代码里认出它们、问出那句「为什么」