上QQ阅读APP看书,第一时间看更新
第2章 算法为何重要
在第1章中,我们学习了两个基本的数据结构,还了解了选择正确数据结构对代码性能的影响。即便是数组和集合这样看起来很相似的数据结构,效率也可能有所区别。
在本章中,你会发现,即便选定了数据结构,也还有一个重要因素影响代码效率:合适的算法。
算法这个词听起来有些复杂,其实并不然。算法就是完成特定任务所需的一组操作。
即便是泡一碗麦片这样的简单过程也是算法,因为泡麦片也需要按照一定步骤来完成。泡麦片算法有以下4个步骤(至少对我来说是这样)。
(1) 拿一个碗。
(2) 把麦片倒进碗里。
(3) 把牛奶倒进碗里。
(4) 把勺子放进碗里。
按照特定顺序执行这些步骤,就能享受早餐了。
对计算机来说,算法指的是计算机为完成特定任务所执行的一组指令。写代码就是创造算法以让计算机执行的过程。
也可以用文字来详细描述想让计算机执行的指令。本书将同时使用文字和代码来展示不同算法的工作原理。
有时,两个不同的算法可能要完成同一项任务。第1章开头有一个例子,介绍了两种打印偶数的方法,其中一种需要的步骤数是另一种的两倍。
本章会介绍另外两个解决相同问题的算法。然而这一次,一个算法会比另外一个快一个数量级。
在探索这两个新算法前,先来看一个新的数据结构。