秒懂算法:用常识解读数据结构与算法
上QQ阅读APP看书,第一时间看更新

第2章 算法为何重要

在第1章中,我们学习了两个基本的数据结构,还了解了选择正确数据结构对代码性能的影响。即便是数组和集合这样看起来很相似的数据结构,效率也可能有所区别。

在本章中,你会发现,即便选定了数据结构,也还有一个重要因素影响代码效率:合适的算法

算法这个词听起来有些复杂,其实并不然。算法就是完成特定任务所需的一组操作

即便是泡一碗麦片这样的简单过程也是算法,因为泡麦片也需要按照一定步骤来完成。泡麦片算法有以下4个步骤(至少对我来说是这样)。

(1) 拿一个碗。

(2) 把麦片倒进碗里。

(3) 把牛奶倒进碗里。

(4) 把勺子放进碗里。

按照特定顺序执行这些步骤,就能享受早餐了。

对计算机来说,算法指的是计算机为完成特定任务所执行的一组指令。写代码就是创造算法以让计算机执行的过程。

也可以用文字来详细描述想让计算机执行的指令。本书将同时使用文字和代码来展示不同算法的工作原理。

有时,两个不同的算法可能要完成同一项任务。第1章开头有一个例子,介绍了两种打印偶数的方法,其中一种需要的步骤数是另一种的两倍。

本章会介绍另外两个解决相同问题的算法。然而这一次,一个算法会比另外一个快一个数量级

在探索这两个新算法前,先来看一个新的数据结构。