首页 理论教育 大学信息技术基础:算法的定义与特征

大学信息技术基础:算法的定义与特征

时间:2023-10-30 理论教育 版权反馈
【摘要】:任何解决问题的过程都是由一定的步骤组成的,把解决问题所采取的方法和步骤称作算法。利用计算机解决问题的关键就在于设计出合适的算法。算法表达了解决问题的核心步骤,反映的是程序的解题逻辑。有的问题虽然可由计算机求解,但手工算法与计算机算法大不相同。确定性算法中的每一个步骤必须有确切的定义,不允许有模棱两可的解释,也不允许有多义性。有一个或多个输出算法的目的是求解,“解”就是输出。

大学信息技术基础:算法的定义与特征

任何解决问题的过程都是由一定的步骤组成的,把解决问题所采取的方法和步骤称作算法。例如,烘烤巧克力夹心饼干的配方就是一个算法。任何一个人只要熟悉一点烹饪方法,就能仔细按照操作说明,烘烤出一炉可口的饼干。一首歌曲的乐谱,也可以称为该歌曲的算法,因为它指定了演奏该歌曲的每一个步骤,按照它的规定就能演奏出预订的曲子。同样的,为某人提供到你家的路线时,你定义的就是一个算法,遵循该算法他就能到达指定的目的地。在现代社会,算法十分普遍,因为我们经常面对一些不熟悉的任务,并且没有指令就不可能完成。你可能不知道如何组装一辆自行车,所以自行车附带的组装说明书提供的算法能够指导你完成这些任务。

利用计算机解决问题的关键就在于设计出合适的算法。也就是说,在一台计算机可以运行一个任务之前,必须给它一个算法来准确地告诉它要做什么。算法表达了解决问题的核心步骤,反映的是程序的解题逻辑。本书所关心的是用计算机语言描述的,并能在计算机上可执行的各种算法,例如计算1到100以内的奇数的乘积,将100个学生的考试成绩由高到低进行排序等。有的问题虽然可由计算机求解,但手工算法与计算机算法大不相同。

针对计算机算法,我们给出如下定义:算法是一组明确步骤的有序集合,它产生结果并在有限的时间内终止。计算机算法应该具备以下特征。

(1)有穷性

一个算法必须保证在执行有限运算步骤后终止。在实际应用中,算法的有穷性还应该包括执行时间的合理性。

(2)确定性

算法中的每一个步骤必须有确切的定义,不允许有模棱两可的解释,也不允许有多义性。

(3)有零个或多个输入(www.xing528.com)

这里的输入是指在算法开始之前所需要的初始数据。对于要处理的数据,大多数通过输入得到,输入的方式可以通过键盘或文件等。一个算法也可以没有输入,例如,求5!,在执行算法时不需要输入任何信息。

(4)有一个或多个输出

算法的目的是求解,“解”就是输出。一个没有输出的算法是毫无意义的。因此,当执行完算法之后,一定要有输出的结果。

(5)有效性

算法中的每一个步骤都应当能被有效地执行,并得到确定的结果。如算法执行过程中出现x/0、负数开方等操作将导致算法无法执行。

用精确的步骤来解答问题需要经验、创造力以及缜密的思维。然而,一旦想好求解问题的算法,任何人只要遵循算法步骤就可以求解这一特定的问题。对于一般最终用户来说,他们并不需要在处理每一个问题时都要自己设计算法和编写程序,可以使用现成的算法和程序,用户只需根据已知算法的要求给予必要的输入,就能得到输出的结果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈