快好知 kuaihz

算法与程序有什么区别?

01

算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。程序不等于算法。但是,通过程序设计可以在计算机上实现算法

你可能解答过一个有趣的问题——“人、狼、羊过河”问题。有个人带着三只狼、三只羊,要过河去。有一条小船。船上除了运载一个人外,至多再载狼或羊中的任意两只。但难点是:当人不在场时,如果狼的数量大于等于羊的数量,那么羊会被狼吃掉。为了安全过河,你有什么办法呢?

解决它的算法有多个,其中一个解决方案是这样的:

开始,运一只狼过河,空船回来;

接着,运一只狼和一只羊再过河,到对岸后,再运两只狼回来;

然后,运两只羊过河,空船回来;

最后,分两次将狼全部运过河

由此,过河问题就得以解决了。

可见,算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。它由有限步骤的操作序列组成,代表着用系统的方法描述解决问题的策略机制。

算法是一组严谨定义运算顺序的规则,每一个规则都是有效的、明确的,此顺序必须在有限的次数下终止。在上面的过河问题中,如果第一步中改为:“运一只狼过河,再运这只狼回来”,那么,说明人没找到好办法,在反复进行无用操作。此类算法,是失败的,永远也实现不了既定目标。

算法描述,一般可以使用汉、英等自然语言,比较通俗易懂。也可以使用流程图、伪代码表格等其他工具。

在古代,算法通常用于数值计算。中国古代的筹算口诀、珠算口诀及其执行规则就是算法的雏形。它所解决的是数值计算问题。现代算法,已超出数值计算范围。

程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。这些指令,可以是计算机的机器指令,也可以是汇编语言和高级程序设计语言。

程序不等于算法。但是,通过程序设计可以在计算机上实现算法。在实际应用中,也许只需一条(组)程序设计语句,就可以完成算法的基本要素处理,包括数据对象的运算和操作,以及顺序、选择、循环结构的控制。通过程序模块设计,可以实现算法中的递推、递归、迭代等一系列基本算法,也包括形式演绎、数据结构、数论图论、加密解密、科学决策等复杂算法

因此,运用计算机解决问题的过程,通常可以分成三个阶段:分析问题、设计算法和编制程序实现算法。由于计算机运算速度快,存储数据量大,大大提高了算法实现效率。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:算法与程序有什么区别?  算法  算法词条  区别  区别词条  程序  程序词条  什么  什么词条  
综合

 关于中秋节的四句古诗有哪些?

011、《中秋月》宋.晏殊十轮霜影转庭梧,此夕羁人独向隅。未必素娥无怅恨,玉蟾清冷桂花孤。2、《天竺寺八月十五日夜桂子》唐.皮日休玉颗珊珊下月轮,殿前拾得露华新...(展开)

综合

 酒干倘卖无是什么意思?

01有酒瓶子要卖吗《酒干倘卖无》由罗大佑与侯德健作词,侯德健作曲,台湾女歌手苏芮演唱,飞碟唱片公司发行,是一首励情励志的国语歌曲。该歌曲是电影《搭错车》的主题曲...(展开)

综合

 怎样才能去除桃酥的苦味

做出来的桃酥发苦主要是,在做桃酥之前的核桃没有正确处理好,只要正确处理好核桃做出来的桃酥就不会发苦。桃酥是很多人都喜欢吃的一种零食,其实它的制作方法也不难,我们...(展开)