Swift Algorithm Club:算法与数据结构是什么?

原文:What are algorithms and data structures?

算法与数据结构是什么?

算法就是计算机做事的食谱。如果你会下厨,则懂算法!

这里有一个煎饼的食谱:

  1. 将面粉、发酵粉、盐与糖倒入大碗盆中和匀;

  2. 倒入牛奶、鸡蛋与黄油;

  3. 搅拌和匀;

  4. 加热煎饼锅至中等热;

  5. 用勺将面糊放至锅中,每个饼使用大概1/4杯的量;

  6. 将饼两面煎至微黄。

食谱由这些一条条连续的步骤组成。算法也是如此,除了包含一些计算机执行指令,而烹调没有。

原料 — 面粉、牛奶、鸡蛋、黄油 — 是算法要使用的数据。数据进入算法是一种形式(不成熟,分开的原料),出去是另一种形式(美味的煎饼!)。

所以,什么是数据结构呢?数据结构是用来装算法用到的数据的容器。在煎饼食谱中,数据结构是装面粉的袋子、搅拌用的大碗盆、把饼煎黄的煎饼锅以及最后用来装煎完了的饼的盘子。