算法是指解决问题的一种方法或一个过程。算法是若干指令的有穷序列,满足:输入、输出、确定性、有限性性质。程序是算法用某种程序设计语言的具体实现,程序可以不满足算法的性质。
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
算法中的指令描述的是一个计算,当其运行时能从一个初始状态和初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。
联系:程序是计算机指令的有序集合,是算法用某种程序设计语言的表述,是算法在计算机上的具体实现。
区别:
一、形式不同
1、算法:算法在描述上一般使用半形式化的语言。
2、程序:程序是用形式化的计算机语言描述的。
二、性质不同
1、算法:算法是解决问题的步骤。
2、程序:程序是算法的代码实现。
三、特点不同
1、算法:算法要依靠程序来完成功能。
2、程序:程序需要算法作为灵魂。
算法和程序嘛。。。对过程化程序来说,有个沃思公式:算法+数据结构=程序。也就是说一个程序主要包含以下两方面的信息:1、对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式。这就是数据结构(data structure)。2、对 *** 作的描述。即要求计算机进行 *** 作的步骤,也就是算法(algorithm)。算法当然要在有穷步后终止啊,不然计算机受得了吗。。。算法的特性就包含有穷这一条,而且有穷性是指在合理的范围之内,你让一个算法持续几千年,也不合常理。
希望对你有用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)