算法与程序有什么区别?
来源:秒知站 本文已影响3.16W人
来源:秒知站 本文已影响3.16W人
算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。程序不等于算法。但是,通过程序设计可以在计算机上实现算法。
你可能解答过一个有趣的问题——“人、狼、羊过河”问题。有个人带着三只狼、三只羊,要过河去。有一条小船。船上除了运载一个人外,至多再载狼或羊中的任意两只。但难点是:当人不在场时,如果狼的数量大于等于羊的数量,那么羊会被狼吃掉。为了安全过河,你有什么办法呢?
解决它的算法有多个,其中一个解决方案是这样的:
开始,运一只狼过河,空船回来;
接着,运一只狼和一只羊再过河,到对岸后,再运两只狼回来;
然后,运两只羊过河,空船回来;
最后,分两次将狼全部运过河;
由此,过河问题就得以解决了。
可见,算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。它由有限步骤的操作序列组成,代表着用系统的方法描述解决问题的策略机制。
算法是一组严谨定义运算顺序的规则,每一个规则都是有效的、明确的,此顺序必须在有限的次数下终止。在上面的过河问题中,如果第一步中改为:“运一只狼过河,再运这只狼回来”,那么,说明人没找到好办法,在反复进行无用操作。此类算法,是失败的,永远也实现不了既定目标。
算法描述,一般可以使用汉、英等自然语言,比较通俗易懂。也可以使用流程图、伪代码表格等其他工具。
在古代,算法通常用于数值计算。中国古代的筹算口诀、珠算口诀及其执行规则就是算法的雏形。它所解决的是数值计算问题。现代算法,已超出数值计算范围。
程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。这些指令,可以是计算机的机器指令,也可以是汇编语言和高级程序设计语言。
程序不等于算法。但是,通过程序设计可以在计算机上实现算法。在实际应用中,也许只需一条(组)程序设计语句,就可以完成算法的基本要素处理,包括数据对象的运算和操作,以及顺序、选择、循环结构的控制。通过程序模块设计,可以实现算法中的递推、递归、迭代等一系列基本算法,也包括形式演绎、数据结构、数论图论、加密解密、科学决策等复杂算法。
因此,运用计算机解决问题的过程,通常可以分成三个阶段:分析问题、设计算法和编制程序实现算法。由于计算机运算速度快,存储数据量大,大大提高了算法实现效率。
怎么成为一名程序员 当程序员需要学什么
微信小程序入口在哪?微信找不到小程序解决办法
动车与高铁的区别是什么?
喜欢与爱有何区别?
酸奶与酸牛奶有什么区别?
明日之后官府与渠道服怎么下载有什么区别
网店与实体店的区别是什么?哪个更有发展前途?
集体商标与证明商标有什么区别?
车身划痕险与车损险有什么区别?
何谓算法它与程序有何区别
违法、不法和非法有什么区别
为什么小程序不用下载应用程序
法制与法治有什么区别 法制与法治有什么区别和联系
倒车雷达与倒车影像有什么区别?
大学的学位证与毕业证有什么区别?
算法与程序有何异同
音序与音节的区别 音序与音节的区别是什么
报告与请示的区别有那些?
家装中射灯与筒灯有什么区别
液化气灶与天然气灶有什么区别?
程序猿是什么意思?程序员为什么叫程序猿?程序猿笑话段子
一区二区三区四区的区别是什么?
微信小程序怎么制作自己的程序?
内插法和区间法的区别是什么?
告诉你板栗与锥栗的区别,如何区别锥栗与板栗
儿媳妇与媳妇有什么区别?