Python算法详解
上QQ阅读APP看书,第一时间看更新

1.1.2 何为算法

为了理解什么是算法,先看一道有趣的智力题。

“烧水泡茶”有如下5道工序:①烧开水,②洗茶壶,③洗茶杯,④拿茶叶,⑤泡茶。

烧开水、洗茶壶、洗茶杯、拿茶叶是泡茶的前提。其中,烧开水需要15min,洗茶壶需要2min,洗茶杯需要1min,拿茶叶需要1min,泡茶需要1min。

下面是“烧水泡茶”的两种方法。

方法1的步骤如下。

第1步:烧水。

第2步:水烧开后,洗刷茶具,拿茶叶。

第3步:沏茶。

方法2的步骤如下。

第1步:烧水。

第2步:烧水过程中,洗刷茶具,拿茶叶。

第3步:水烧开后沏茶。

问题:比较这两种方法有何不同,并分析哪种方法更优。

上述两种方法都能最终实现“烧水泡茶”的功能,每种方法的3个步骤就是一种“算法”。算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。