数据结构与算法图解
上QQ阅读APP看书,第一时间看更新

第2章 算法为何重要

上一章我们学习了两种数据结构,并明白了选择合适的数据结构将会显著地提升代码的性能。即使是像数组和集合这样相似的两种数据结构,在高负荷的运行环境下也会表现得天差地别。

在本章,你将会发现,就算数据结构确定了,代码的速度也还会受另一重要因素影响,那就是算法

算法这个词听起来很深奥,其实不然。它只是解决某个问题的一套流程。准备一碗麦片的流程也可以说是一种算法,它包含以下4步(对我来说是4步吧)。

(1) 拿个碗。

(2) 把麦片倒进碗里。

(3) 把牛奶倒进碗里。

(4) 把勺子放到碗里。

在计算机的世界里,算法则是指某项操作的过程。上一章我们研究了4种主要操作,包括读取、查找、插入和删除。这一章我们还是会经常提到它们,而且一种操作可能会有不止一种做法。也就是说,一种操作会有多种算法的实现。

我们很快会看到不同的算法能使代码变快或者变慢——高负载时甚至慢到停止工作。不过,现在先来认识一种新的数据结构:有序数组。它的查找算法就不止一种,我们将会学习如何选出正确的那种。