算法与程序的区别和联系(转)

转载自:算法与程序的区别和联系

算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

算法是若干指令的有穷序列,满足性质:
(1)输入:由外部提供的量作为算法的输入。
(2)输出:算法产生至少一个量作为输出。
(3)确定性:组成算法的每条指令是清晰,无歧义的。
(4)有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。
(5)可行性:算法中所有的操作都必须足够基本,使算法的执行者或阅读者明确其含义以及如何执行。

程序

程序是计算机指令的有序集合,是算法用某种程序设计语言的表述,是算法在计算机上的具体实现。

区别与联系

(1)算法在描述上一般使用半形式化的语言,而程序是用形式化的计算机语言描述的。
(2) 程序是计算机指令的有序集合。
(3)程序并不都满足算法所要求的特征,例如操作系统,是一个在无限循环中执行的程序,因而不是一个算法。
(4)一个算法可以用不同的编程语言编写出不同的程序。
(5)算法是解决问题的步骤;程序是算法的代码实现。
(6)算法要依靠程序来完成功能;程序需要算法作为灵魂。
(7)程序=算法+数据结构。

猜你喜欢

转载自blog.csdn.net/weixin_44044395/article/details/108925795
今日推荐