1、第 4 章 流程控制4.1 算法概念做任何亊情都有一定的步骤。例如,你想考大学首先要填报名志愿表,拿到准考证, 参加考试,得到录取通知书,到大学报名注册等。这些步骤都是按一定顺序进行的,缺一不可。现实生活中,我们很多亊情都是这样一步一步的完成的,我们把用来解决问题的一系列步骤称为算法。为了理解算法的概念,我们来看一个有趣的人鬼过河的例子。河岸边有三个人和三个鬼,河上只有一条小船,船上最多能坐两个“人” 。在河的任何一边,当鬼的个数比人多时,鬼就会吃掉人。请问如何才能使人和鬼都平安的到达对岸?经过仔细分析,我们发现,要想使人鬼都安全过河,需要下面 11 步。通过精心设计的 11 个步骤,人和鬼都
2、安全地渡到对岸。从这个例子可以看出,我们从事各种工作和活动,首先要想好工作的步骤,然后按部就班地执行,就可以顺利地完成任务。精心设计的算法是顺利完成任务的保证。厨师做菜,首先要准备食材(蔬菜、肉类等) ,然后按一定的方法烹饪原料,即可做出可口的饭菜。与此类似,传统的程序设计思想把程序看作处理数据的流程,程序员首先要定义好数据,然后按照一定的算法处理这些数据。数据相当于食材,算法相当于烹饪方法。作为程序设计人员,编写代码之前必须认真考虑数据结构和算法,因此,著名计算机 科学家Nikiklaus Wirth 提出一个公式:数据结构+算法=程序算法是程序设计的灵魂,它解决了 “做什么”和“怎么做”的问题,程序中的语句, 实际上就是算法的体现。