算法与程序有何区别和联系?

如题所述

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

区别:

一、形式不同

1、算法:算法在描述上一般使用半形式化的语言。

2、程序:程序是用形式化的计算机语言描述的。

二、性质不同

1、算法:算法是解决问题的步骤。

2、程序:程序是算法的代码实现。

三、特点不同

1、算法:算法要依靠程序来完成功能。

2、程序:程序需要算法作为灵魂。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-28

一、算法和程序的区别是:

1、在语言描述上不同:程序必须是用规定的程序设计语言来写,而算法很随意。

2、在执行时间上不同:算法所描述的步骤一定是有限的,而程序可以无限地执行下去。

3、两者定义不同:算法是对特定问题求解步骤的描述,它是有限序列指令。程序是实现预期目的而进行操作的一系列语句和指令。

4、两者的书写规定不同:程序必须用规定的程序设计语言来写,而算法很随意。算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些逻辑判断。

二、算法与程序的联系:算法和程序都是指令的有限序列,但是程序是算法,而算法不一定是程序。程序=数据结构+算法。算法的主要目的在于为人们提供阅读了解所执行的工作流程与步骤。数据结构与算法要通过程序的实现,才能由计算机系统来执行。

扩展资料:

一、程序的运行

使计算机程序得以运行,计算机需要加载代码,同时也要加载数据。从计算机的底层来说,这是由高级语言(例如Java,C/C++,C#等)代码转译成机器语言而被CPU所理解,进行加载。

如果您在一个符合大多数的计算机上,操作系统例如Windows、Linux等,加载并执行很多的程序,在这种情况下,每一个程序是一个单独的映射,并不是计算机上的所有可执行程序。

为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。

二、算法:包括递推法、递归法、穷举法、贪心算法、分治法、动态规划法、迭代法、分支界限法、回溯法等。

大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法,厄米变形模型,随机森林算法。

参考资料来源:百度百科-程序

参考资料来源:百度百科-算法

本回答被网友采纳
第2个回答  推荐于2017-11-24
算法是程序的灵魂,算法是你处理一件事的过程跟主要的方法设计,程序是用计算机语言实现了算法的东西,这么讲吧,如果程序是一个人,那么算法就是他的思想,素质,学识等等的精神实力本回答被网友采纳
第3个回答  2013-07-08
算法+数据结构=应用程序。算法是程序设计的核心,算法的好坏很大程度上决定了一个程序的效率。一个好的算法可以降低程序运行的时间复杂度和空间复杂度。先选出一个好的算法,再配合以一种适宜的数据结构,这样程序的效率会大大提高。
第4个回答  2013-07-08
算法是程序设计的方法,同一个示例可以有很多种实现比如对一列数字排序,就有很多算法,冒泡法、快速排序法、插入法等等,这些就是算法。