购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2.1 算法的概念

要用计算机解决一个实际问题,首先应进行程序设计,而程序设计主要包括对数据以及处理问题的方法和步骤的完整而准确的描述。所谓对数据的描述,就是指明在程序中要用到的数据类型和数据组织形式,即数据结构;对问题的方法和步骤的描述,即计算机进行操作的步骤,也就是所采用的算法。

一个算法就是一个有穷规则的集合,其中的规则规定了解决某个特定类型的问题的运算序列。简单地说,任何解决问题的过程都是由一定的步骤组成的,我们把解决问题的方法和有限的步骤称为 算法

算法分为 数值运算算法 非数值运算算法 两种。数值运算算法是指对问题的数值求解,例如,对微分方程求解,对一元二次方程求解等;非数值运算算法包括非常广泛的领域,如信息检索、事务管理、数据处理等。数值运算有确定的数学模型,一般都有比较成熟的算法。许多常用的算法都已经被编写成通用程序或标准库,例如,数学程序库、数学软件包等,需要时可以直接调用。然而,非数值运算的种类繁多,要求不一,很难形成规范的算法,需要用户按不同要求进行设计。

那么如何衡量算法的正确性呢?一般可用如下五个基本特性来衡量:

1) 有穷性 。一个算法必须在执行有限步骤之后结束,即一个算法必须包含有限的操作步骤,而不是无限地执行下去。

2) 确定性 。算法的每一个步骤都应当是确定的、无二义性的,而不应当是含糊的、模棱两可的。所谓确定是指算法应当满足具体问题的要求,对于一切合法的输入都能产生满足规格说明要求的结果。

3) 可行性 。算法的每一步都是能够实现的,即可操作的,并得到确定的结果。这也称为算法的有效性。

4) 允许没有输入或者有多个输入 。所谓输入是指在执行算法时,计算机需要从外界获得的必要信息。有些算法不需要从外界输入数据,而有些算法则需要输入数据。

5) 必须有一个或多个输出 。算法的目的是求解,“解”就是输出。一个算法可以有一个或若干个输出,没有输出的算法是没有意义的。

一般来说,应该考虑采用方法简单、运算步骤少、占用计算机存储空间小的算法。也就是说,为了有效地进行解题,不仅需要保证算法的正确性,还要考虑算法的质量。 qTD/zU4jJgm9K/XmMyWCbnENez2lS4L6LnH7ckqkaLY14bCilX9qPJo629TknF2b

点击中间区域
呼出菜单
上一章
目录
下一章
×