编程科技探索
算法就是一张菜谱
算法听起来很高深,其实你每天泡面、刷牙、上学,都在用“算法”。
5-8岁5分钟编程思维 · 算法 · 不插电

“算法”这个词听起来好厉害,像是科学家才用的东西。但其实它就像一张菜谱——告诉你一步一步该做什么。你早上泡方便面的过程,就是一个算法!其实从刷牙、穿鞋到上学路上,你每天都在不知不觉地用算法。
你知道吗
“算法”这个词来自一位一千多年前的波斯数学家——花拉子米,他的名字音译过来就是“algorithm”。
好算法的三个特点
一个好的算法要满足三件事:第一,每一步都清清楚楚,不能模棱两可;第二,步骤是有限的,不能永远做不完;第三,按它来做一定能得到想要的结果。比如“先烧水,再放面饼,加调料,等三分钟”——这就是一个清晰、有限、有效的算法。
可是如果你的算法写得太马虎,就会出问题。妈妈让你“做一份三明治”,如果你没问清楚要加什么、要不要烤、切成几块,可能做出来跟妈妈想的完全不一样。计算机就是这样:它不会自己猜,你说的每一步它都照做,所以算法必须写得精确。
算法还讲究“效率”。同样是查字典找“苹果”这个词,一页一页翻可能要翻几分钟,但如果你知道拼音是 p-í-n-g,直接翻到 P 开头的部分,再找 ing,就快多了。这两种“找字算法”,结果一样,速度差很多。程序员每天都在琢磨:怎么让算法又对又快。
- 每一步都清楚,不模棱两可
- 步骤有限,不能无限循环
- 按它做一定能得到结果
- 同样的任务,可以有不同算法
- 好算法又快又省力
动手试试
不插电小游戏:写一份“机器人做花生酱三明治”的算法,至少8步。然后请家人当机器人,严格按你的指令做(你说什么他做什么,绝不自己补脑)。看看做出来的三明治是什么样?哪里出错了?改进你的算法,再来一次。你会发现,第一次通常都会出笑话——这就是程序员每天经历的事!
计算机只会照你说的做,不会照你想的做。——编程谚语

