卷一里多毛鸟建好了城堡(硬件)。这一次,巧手猫戴上侦探帽,教你怎么给这座城堡下指令——让它按你的意愿运转。这就是编程。
先看一眼巧手猫要解的谜题
算法:把大问题拆成可重复的清晰步骤。
P03 – P10
数据结构:用对容器,算法才能高效。
P11 – P14
编程语言 + 三大积木 + 调试 + Git。
P15 – P34
编程是21 世纪的读写能力——不是让你去当程序员,而是让你能指挥机器替你干活。
第一章 · 解决问题的菜谱
编程的第一步不是敲键盘,是想清楚步骤。一份明确、可重复、谁照着做都能成的步骤——这就是算法。
菜谱的三要素:
📋 明确:每步都写得清清楚楚,不含糊
🔁 可重复:谁照着做,结果都一样
🏁 有终点:不会无限循环,能做完
满足这三点的"步骤",就是算法。煎蛋是算法,导航是算法,搜索引擎排序也是算法——只是复杂度不同。
从第一页一页页翻,直到找到为止。1000 页可能要翻 1000 次。
简单,但慢。最坏要翻 N 次。
字典是按字母排好的,直接翻到中间:要找的字在前半还是后半?只看一半。重复。
1000 页只要翻约 10 次!快了 100 倍。
🎯 这就是算法的威力:同样的问题,换个思路,效率天差地别。所以学编程,核心是学怎么想,不是学语法。
两个维度(不写大 O,用直觉):
⏱️ 时间:数据变大时,要算多久?
10 个数 vs 100 万个数,差的算法可能从"瞬间"变成"几年"。
💾 空间:要占多少内存?
有的算法快但吃内存,有的省内存但慢。
好算法 = 数据量暴增时还能撑住。差算法 = 数据一多就卡死。这就是为什么算法要好好选。
相邻的两个比一下,大的往后挪。一轮下来最大的"冒泡"到最后。重复多轮。
简单直观,但慢。像气泡往上浮。
选一个数当"标杆",比它小的放左边,大的放右边。然后对左右两边各再来一遍。
分而治之,快得多。现实系统常用。
🧠 记住直觉就够:排序就是"让东西各就各位"。具体怎么排,有无数种思路,各有适用场景。
把大问题拆成能解决的小步骤
发现可重复的模式,自动化
多种方法里权衡挑最合适的
🌱 这种思维不止用在编程:安排学习计划、组织活动、解决生活问题,都是"拆解→找规律→选路径"。算法思维是普适的思考工具。
第二章 · 装数据的容器
数据要"装"在某个结构里才能被处理。不同的容器,适合不同的数据和算法。就像——你不能用鞋盒装水。
一排格子,按位置编号。找第 N 个超快,但中间插入慢。
像叠盘子:最后放的先拿。后进先出。
像排队:先来的先走。先进先出。
像字典分区:按"关键词"秒查内容。
有层级关系,像家谱、文件夹。
能表达任意关系,像地图、社交网。
→ 高手之所以快,一半是算法好,一半是容器选得对。
😵 选错的代价
用"数组"频繁在中间插入 → 每次都要挪后面所有数据,慢到卡死。
✅ 选对的好处
知道要频繁插入 → 改用"链表",插入瞬间完成。同一件事,效率差几千倍。
💡 怎么选?看你的数据要"怎么被用"——要频繁查?频繁插?频繁删?不同操作,最优容器不同。这也是面试常考的原因。
第三章 · 编程语言
算法是思路,数据结构是容器。要真正"指挥"机器,还需要一种人能写、机器能懂的语言——编程语言。
简单、生态全。AI、数据、脚本首选。最推荐入门。
浏览器唯一母语。做网页、小程序必学。
贴近硬件、超快。操作系统、游戏引擎用它。
稳定、跨平台。企业系统、安卓 App 大量使用。
🎯 给高中生的建议:先学 Python——语法最接近人话、AI 时代的主力、网上教程海量。学懂一门,再学第二门会很快。
像翻译一本书——先把整本翻完,出版后读者直接读译文。
跑起来快(已翻译好),但改一次要重翻。代表:C/C++/Rust。
像同声传译——你说一句,翻一句,听众边听边懂。
改起来快,但跑得稍慢。代表:Python/JavaScript。
没有绝对优劣——要性能选编译型,要开发速度选解释型。
第四章 · 程序的三大积木
听起来不可思议,但任何复杂的程序——游戏、AI、操作系统——拆到底层,都是这三种基本结构的组合。
一件接一件做。最基本的结构。
起床→刷牙→吃饭
看情况走不同路。if / else。
下雨?带伞:不带
重复做同一件事,直到满足条件。
每天背 10 个单词
🧩 就像乐高——就这三块基础积木,能拼出从计算器到 ChatGPT 的任何东西。复杂度来自组合,不来自零件。
类比 · 贴标签的盒子
你有个盒子装着"42",给它贴个标签叫"年龄"。以后说"年龄",程序就知道你指的是那个盒子里的东西。盒子里的东西可以变(所以叫"变"量),但标签不变。
变量让程序能记住和引用数据。没有它,程序只能处理眼前的数。
类比 · 菜谱里的"酱汁"
做菜时每次都要调酱汁很烦。你把"调酱汁"的步骤写成一个独立小节,以后哪个菜要用,写"按酱汁小节"就行——不用重复写。
函数就是这种"打包好的步骤"。一次定义,处处复用。
大程序就是一堆函数互相调用拼起来的。函数让代码不重复、好维护。
第五章 · 怎么写好程序
程序能运行只是及格。真正的好程序:好读、好改、好维护。这一章讲几个让代码从"能跑"到"优雅"的关键习惯。
调试四步法:
① 复现:先让错误稳定出现
② 定位:用 print 或断点,缩小范围
③ 理解:搞清楚为什么错(不是瞎改)
④ 修复 + 验证:改完确认真的好了
调试能力比写新代码还重要——90% 的编程时间在修 bug,不在写新功能。
少个括号、拼错单词。程序根本跑不起来,最容易找。
→ 报错信息直接告诉你
跑一半崩了:除以零、访问不存在的东西。要复现才能修。
→ 找触发条件
能跑,但结果错了。最隐蔽——程序不报错,是你思路错了。
→ 要测试 + 验证
🕵️ 逻辑错误最考验功力——因为机器不会告诉你错。这时候就要像侦探一样推理:预期 vs 实际,差在哪?这就是巧手猫戴侦探帽的原因。
😵 难懂的命名
三个月后你自己都看不懂。
✅ 清楚的命名
一眼就懂。这就是"好代码"。
📝 两个习惯:变量/函数起有意义的名字;复杂逻辑写注释解释"为什么"。这不是废话——未来的你(和同事)会感谢现在的你。
类比 · 整理房间
把所有东西堆一个抽屉 → 找不到。按类别分抽屉(文具、充电器、票据)→ 一找一个准。
程序也一样:登录功能放一个文件、数据处理放一个、界面放一个。各管一摊,互不干扰。
这就是模块化——让大项目可维护的关键。
登录模块 · login.py
数据模块 · data.py
界面模块 · ui.py
主程序 · main.py(调用上面)
类比 · 游戏存档
打 Boss 前先存档。打输了?读档重来,不用从游戏开始。
Git 就是程序的存档系统:每次改动存一个"存档点"(commit),随时能回到任何历史版本。
还能多人协作——各存各的档,最后合并。GitHub 就是存这些档的"云端仓库"。
① 你每天早上起床到出门,能用"顺序/分支/循环"描述吗?
(提示:哪些是固定顺序?哪些看天气?哪些重复?)
② 为什么"二分查找"比"顺序查找"快那么多?前提是什么?
(提示:想想字典为什么能翻中间)
③ 如果让你写个"自动整理错题"的小程序,你会怎么拆步骤?
(提示:用算法思维拆解)
AI 系列篇二说"Claude Code 能帮你写代码"——它写的,就是这一卷讲的东西。你懂了原理,才能看懂、审查、改好 AI 写的代码。
知识闭环:
• AI 篇二:AI 帮你写代码
• 本卷:那些代码到底是怎么回事
• 你懂了 → 能更好地指挥 AI
🐱 本卷
让机器听话的艺术
💡 卷三
全世界连成一张网(网络)
🌿 卷四
信息的守护与魔法(数据/安全)
• 廖雪峰 Python 教程(中文,免费)
• CS50(哈佛入门课,有中文字幕)
• 《Python 编程:从入门到实践》
• Scratch(拖积木编程,零基础)
• LeetCode(刷算法题,从简单开始)
• 直接让 AI 当老师,手把手带
🌟 最重要的一步:今天就写下你的第一行代码。
print("Hello, World!") ——所有程序员的故事,都从这句开始。
编程训练的逻辑、拆解、严谨,做什么都有用。
会用 AI 编程 = 有个 24h 程序员朋友,随时帮你。
有想法就能自己做出东西——网站、工具、小应用。
💡 编程是新时代的"识字":上个世纪不识字寸步难行,这个世纪不懂点编程,会错过很多可能。不为求职,为自由。
下一篇《全世界连成一张网》,小灯会长出翅膀化身信号精灵,带你从两台电脑连起来,一直看到整个互联网怎么运转。
💡 小灯化身信号精灵,飞越千山万水,讲数据包、IP、TCP、DNS、Web 的故事
把这一句记住
语法会变、语言会更迭,但"把复杂问题拆成清晰步骤"这种能力永远值钱。
这才是编程教育的真谛。
多毛鸟建好了城堡
晶体管→CPU→GPU→光通信
巧手猫教会了城堡听话
算法→数据结构→语言→工程
🌱 接下来:让一座座城堡连起来说话 → 卷三(网络)
再守护好它们存的信息 → 卷四(数据/安全)
别被"编程很难"吓到。真正难的是开始。
写下第一行,跑通第一个程序——你就已经是个"会编程的人"了。
THE END · CS 卷二完结
🔍 你现在懂了怎么用算法和代码指挥机器。
🚀 下一篇,小灯长出翅膀,带你看机器们怎么互相说话——网络。
谢谢巧手猫侦探带你学会指挥机器 🐱🔍
CS 入门 · 卷二《让机器听话的艺术》