原文:What are algorithms and data structures?
算法与数据结构是什么?
算法就是计算机做事的食谱。如果你会下厨,则懂算法!
这里有一个煎饼的食谱:
将面粉、发酵粉、盐与糖倒入大碗盆中和匀;
倒入牛奶、鸡蛋与黄油;
搅拌和匀;
加热煎饼锅至中等热;
用勺将面糊放至锅中,每个饼使用大概1/4杯的量;
将饼两面煎至微黄。
食谱由这些一条条连续的步骤组成。算法也是如此,除了包含一些计算机执行指令,而烹调没有。
原料 — 面粉、牛奶、鸡蛋、黄油 — 是算法要使用的数据。数据进入算法是一种形式(不成熟,分开的原料),出去是另一种形式(美味的煎饼!)。
所以,什么是数据结构呢?数据结构是用来装算法用到的数据的容器。在煎饼食谱中,数据结构是装面粉的袋子、搅拌用的大碗盆、把饼煎黄的煎饼锅以及最后用来装煎完了的饼的盘子。