1 算法的含义互动互动课堂疏导引导1
算法的含义 算法是完成某项工作的一系列步骤
现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成
疑难疏引 (1)算法就是计算机解题的过程
在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法,前者是推理实现的算法,后者是操作实现的算法
(2)对于某一个问题,找到了解决它的某种算法是指使用一系列运算规则能在有限步骤内求解某类问题,其中的每条规则必须是明确定义的、可行的,不能含糊其辞,模棱两可
我们过去学习的许多公式都是算法,加、减、乘、除运算法则以及多项式的运算也是算法
(3)求解某个问题的算法不一定是唯一的,即算法的不唯一性
算法要求“按部就班地做”,每做一步都是有唯一的结果
(4)算法与一般意义上具体问题的解法既有联系,又有区别,它们之间是一般和特殊的关系,也是抽象与具体的关系
算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决
(5)算法一方面具有具体化、程序化、机械性的特点,同时又有高度的抽象性、概括性、精确性,所以算法在解决问题的过程中更具有条理性、逻辑性的特点
(6)描述算法可以有不同的形式,例如,可以用自然语句和数学语言加以叙述,也可以用框图(流程图)、程序设计语言和伪代码给出精确的说明
算法的特性 一般来讲,一个算法应具有以下五个重要特性:(1)确定性:算法的每一步必须是确切定义的,且无二义性,算法只有唯一的一条执行路径,对于相同的输入只能得出相同的输出
(2)有穷性:一个算法必须在执行有穷次运算后结束
在所规定的时间和空间内,若不能获得正确结果,其算法也是不能被采用的
(3)可行性:算法中的每一个步骤必须能用实现算法的工具——可执行指令精确表达,并在有限步骤内完成,否则这种算