算法和程序的区别

算法和程序的区别,第1张

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

2 程序是计算机指令的有序集合(指令是能被计算机识别并执行的二进制代码)

3 算法的范围比程序要大

算法是指解决问题的一种方法或一个过程。算法是若干指令的有穷序列,满足:输入、输出、确定性、有限性性质。程序是算法用某种程序设计语言的具体实现,程序可以不满足算法的性质。

算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

这句话是错误的

我理解这句话的错误在于逻辑上搞反了,把包含和被包含,子集和全集的关系颠倒了属于文字游戏一类的题目,

实际上,我想这句话错在,计算机程序只是实现算法的一个手段,如果不用计算机程序还可以用其他办法实现算法,比如,在加密领域,很多密码机实际上是使用硬件加密的,我举一个最著名的例子,二战时德军的Enigma(恩尼格玛)密码机,就是使用经典密码算法恩尼格玛的密码机,但它是完全机械结构的,那个时候德军还没有计算机呢,这不也是实现了算法了吗而且考试的时候,不给你计算机,你用手算,也能实现一些算法啊,不然,考试时让你给出某个算法的结果,你就不做了么

所以,这道题其实没什么意思,文字游戏罢了

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

一个算法应该具有以下五个重要的特征:

有穷性(Finiteness)

算法的有穷性是指算法必须能在执行有限个步骤之后终止;

确切性(Definiteness)

算法的每一步骤必须有确切的定义;

输入项(Input)

一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;

输出项(Output)

一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;

可行性(Effectiveness)

算法中执行的任何计算步骤都是可以被分解为基本的可执行的 *** 作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。

算法和程序的关系是:

算法就是程序的灵魂,一个需要实现特定功能的程序,实现它的算法可以有很多种,所以算法的优劣决定着程序的好坏。

程序就是遵循一定规则的、为完成指定工作而编写的代码。有一个经典的等式阐明了什么叫程序:程序 = 算法 + 数据结构 + 程序设计方法 + 语言工具和环境 。

以上就是关于算法和程序的区别全部的内容,包括:算法和程序的区别、算法与程序的关系、算法必须最终由计算机程序实现,这句话对吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9299240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存