算法
按定好的顺序解决问题
算法不是难懂的词。就是“解决问题的定好的顺序”。像煮面、找路一样。顺序定好了,谁来做都得出一样的答案。
01
做三明治的顺序
假设你要做三明治。
拿出面包,
抹上果酱,
盖上面包。
把这定好的顺序
一步步走下来,
三明治就做好了。
这就是算法。
1拿出两片面包
2在一片上抹果酱
3用另一片盖上
4切成两半
完成!三明治做好了
一步一步按按看。走完顺序,问题就解决了。
定好的顺序,一步步。(拿面包 → 抹果酱 → 盖上 → 切 → 完成)
听着难的“算法”,
其实就是这个。
“先做什么,
再做什么”
事先定好的顺序。
菜谱、组装说明书,
全都是算法。
02
先穿袜子,还是先穿鞋?
顺序不是白摆着的。
先穿袜子再穿鞋,
穿得好好的。
可要是先穿了鞋,
再想穿袜子?
不行了。
顺序错了,
结果也错。
1穿袜子
2穿鞋
穿得好好的
同样的两步,顺序一变,结果就变。
把顺序换换看。(对的顺序 → 行得通 · 反过来的顺序 → 不行)
所以在算法里,
顺序真的很要紧。
先做什么,
能行
也能不行。
不光是知道步骤,
而是知道“对的顺序”。
03
一样的顺序,一样的结果
定好顺序的厉害就在这。
我按那个顺序,
朋友也按那个顺序,
俩人都得出一样的答案。
不随心情、不靠运气。
只要顺序一样,
结果就一样。
我
3 加 4
= 按顺序相加
?
朋友
3 加 4
= 按顺序相加
?
按一样的顺序,谁来做都是一样的答案。这就是算法的厉害。
按一样的顺序,俩人都一样的答案。(我 → 7 · 朋友 → 7)
这为什么好?
因为靠得住。
“按这顺序做,
准得这个答案”。
所以给电脑也
写上这顺序,
它就总做一样的事。
04
找两个数里大的
跟着走一个真的很小的算法。
找两个数里大的那个。
“比一比这俩,
挑大的那个”。
这顺序就够了。
输入进去,答案出来。
数 A
7
数 B
4
1. 看这两个数 A 和 B (7, 4)
2. 比较 A 是不是比 B 大 (7 > 4?)
3. 挑大的那个
按按钮,按顺序解一下
走完定好的顺序,从输入(7, 4)得出了答案(7)。
输入 → 顺序 → 答案。(数 A 7 · 数 B 4 → 比较 → 答案 7)
看着没什么吧?
可这么小的顺序,
聚了又聚,
能干大事。
把几千个排好队,
把想要的找出来。
全是“定好顺序”的厉害。
05
要让电脑做
电脑没法自己
“看着办”。
做什么、按什么顺序,
得我们写下来。
那顺序就是算法。
写得好,
电脑又快又准地做完。
算法 = 解决问题的顺序
定好的步骤 · 对的顺序 · 谁来都一样的答案。基础你已经有了。
排序
把打乱的排好队
查找
找出想要的
更远处
更聪明的顺序
下次我们来碰碰把打乱的东西按顺序排好的“排序”。
知道了顺序,接下来。(算法 = 解决问题的顺序 → 排序 · 查找 · 更远处)
往后不管见到什么算法,
别怕。
再复杂的样子,
里头都一样。
“先做什么,
再做什么”
不过是事先定好的顺序。
一句话总结算法是“解决问题的定好的顺序”。走完步骤就出答案,顺序错了结果也错。顺序一样,谁来做都一样的答案。所以给电脑写上顺序,它就总做一样的事。
← 算法