《数据最重要的成员--算法》
一、最重要的成员——算法
算法是解决问题的方法,是程序设计的精髓,程序设计的实质就是构造解决问题的算法。算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。
二、算法的概念和特性
算法是对特定问题求解步骤的一种描述,它是指令的有限序列。做任何事情都必须事先想好进行的步骤,然后按部就班地进行,才不会发生错误,计算机解决问题也是如此。对于一些常用的算法应该熟记,比如求阶乘、求素数、求是否闰年等算法,在解决实际问题时,可参考已有的类似算法,按照业务逻辑设计出符合自己的算法。
一个算法应该具有以下五个重要特性。
⑴ 有穷性
一个算法应包含有限个操作步骤。即一个算法在执行若干个步骤之后应该能够结束,而且每一步都在有限时间内完成。
⑵ 确定性
算法中的每一步都必须有确切的含义,不能产生二义性。
⑶ 可行性
算法中的每一个步骤都应该是能有效地执行,并得到确定的结果。
⑷ 输入
所谓输入,是指在算法执行时,从外界取得必要的数据。计算机运行程序的目的是为了进行数据处理,在大多数情况下,这些数据需要通过输入得到。有些情况下,数据已经包含在算法中,算法执行时不需要任何数据,所以一个算法可以有零个或多个输入。
⑸ 输出
一个算法有一个或多个输出,这是算法进行数据处理后的结果。没有输出的算法是毫无意义的。
算法的这些特性可以约束程序设计人员正确地书写算法,并使之能够正确无误地执行,达到求解问题的预期效果。
一、数据对象的运算和操作:计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,成为该计算机系统的指令系统。
一个计算机的基本运算和操作有如下四类:
1.算法运算:加减乘除等运算
2.逻辑运算:或、且、非等运算
3.关系运算:大于、小于、等于、不等于等运算
4.数据传输:输入、输出、赋值等运算
二、算法的控制结构:一个算法的功能结构不仅取决于所选用的操作,而且还与各操作之间的执行顺序有关。