seegongsik
算法

什么是算法

算法不是什么难懂的词,它的意思是“解决问题的固定步骤”。就像煮面、找路一样,只要把步骤定好,谁来做都会得到同样的答案。

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

想让计算机来做

计算机不会自己“看着办”。
做什么、按什么顺序做,都得由我们写下来。
这个顺序就是算法,写得好,计算机就能又快又准地完成。

算法 = 解决问题的顺序
定好的步骤 · 对的顺序 · 谁来都一样的答案。基础你已经有了。
排序
把打乱的排好队
查找
找出想要的
更远处
更聪明的顺序
下一课讲怎样把问题拆成小步骤来思考,再下一课讲把打乱的东西排好队的“排序”。

明白了步骤,接下来。算法 = 解决问题的步骤 → 排序 · 查找 · 更远处。

以后不管遇到什么算法,都不用害怕。
看起来再复杂,里面都一样。
不过是定好了先做什么、再做什么的顺序而已。

一句话总结算法就是“解决问题的固定步骤”。按步骤做就能得到答案,顺序错了结果也会错。步骤相同,谁做答案都一样,所以把步骤写给计算机,它每次都会做同样的事。
← 算法
如果有帮助,请支持我们