S418 发表于 2011-7-5 08:29:09

算法概述篇

算法是解决某一问题的方法和步骤。程序实际上就是用计算机语言描述的算法。程序设计时应认真分析问题,找出合适的算法和数据结构。解决同一问题的算法可能有很多,但它们的效率却可能相差很多,选择合适的算法可能会大大降低程序设计的复杂程序,提高程序的运行效率和存储效率。

计算机所能执行的算法必需具备以下几个特性:

(1)有穷性

算法是一个有穷的计算机操作的序列,即计算机可以按照算法的规定从一个惟一的初始动作开始,经过执行有限次数的操作后终止。

(2)可行性

算法中规定的每个操作都是计算机可以执行的基本操作。

(3)确定性

算法中的每个操作应执行何种动作必须是确定的(即无二义性)且每个操作都只有一个后继操作。对于一组给定的数据,同一个算法对应的程序在计算机上的执行过程是可以再现的,执行结果也是确定的。

(4)输入

一个算法可以有0个或多个输入,即算法中要用到的一组初始数据,可以在算法中确定,也可以在程序运行时由用户通过输入设备(如键盘)输入到计算机中。

(5)输出

一个算法必须产生一个或多个输出,即程序在运行时将产生一组与输入的初始数据相对应的输出数据。一个没有输出的算法是没有任何意义的。


计算机所能执行的算法必需具备以下两个要素:

(1)操作

即构成算法的操作取自哪个操作集。计算机操作主要包括:算术运算、关系运算、逻辑运算、函数运算、位运算及I/O操作等。由于不同的计算机语言对应的操作集略有不同,所以在设计算法前,应先确定编程语言。

(2)控制结构

即如何控制算法中的各操作的执行顺序。通常情况下,各操作是按照书写的顺序执行的,若要改变这种执行顺序可以通过流程控制语句来实现。不同的计算机语言中的流程控制语句也有所不同。
页: [1]
查看完整版本: 算法概述篇