上QQ阅读APP看书,第一时间看更新
1.1.2 何为算法
为了理解什么是算法,先看一道有趣的智力题。
“烧水泡茶”有如下5道工序:①烧开水,②洗茶壶,③洗茶杯,④拿茶叶,⑤泡茶。
烧开水、洗茶壶、洗茶杯、拿茶叶是泡茶的前提。其中,烧开水需要15min,洗茶壶需要2min,洗茶杯需要1min,拿茶叶需要1min,泡茶需要1min。
下面是“烧水泡茶”的两种方法。
方法1的步骤如下。
第1步:烧水。
第2步:水烧开后,洗刷茶具,拿茶叶。
第3步:沏茶。
方法2的步骤如下。
第1步:烧水。
第2步:烧水过程中,洗刷茶具,拿茶叶。
第3步:水烧开后沏茶。
问题:比较这两种方法有何不同,并分析哪种方法更优。
上述两种方法都能最终实现“烧水泡茶”的功能,每种方法的3个步骤就是一种“算法”。算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。