算法与程序有什么区别?
算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。程序不等于算法。但是,通过程序设计可以在计算机上实现算法。
你可能解答过一个有趣的问题——“人、狼、羊过河”问题。有个人带着三只狼、三只羊,要过河去。有一条小船。船上除了运载一个人外,至多再载狼或羊中的任意两只。但难点是:当人不在场时,如果狼的数量大于等于羊的数量,那么羊会被狼吃掉。为了安全过河,你有什么办法呢?
解决它的算法有多个,其中一个解决方案是这样的:
开始,运一只狼过河,空船回来;
接着,运一只狼和一只羊再过河,到对岸后,再运两只狼回来;
然后,运两只羊过河,空船回来;
最后,分两次将狼全部运过河;
由此,过河问题就得以解决了。
可见,算法是为一个问题或一类问题给出的解决方法与具体步骤,是对问题求解过程的一种准确而完整的逻辑描述。它由有限步骤的操作序列组成,代表着用系统的方法描述解决问题的策略机制。
算法是一组严谨定义运算顺序的规则,每一个规则都是有效的、明确的,此顺序必须在有限的次数下终止。在上面的过河问题中,如果第一步中改为:“运一只狼过河,再运这只狼回来”,那么,说明人没找到好办法,在反复进行无用操作。此类算法,是失败的,永远也实现不了既定目标。
算法描述,一般可以使用汉、英等自然语言,比较通俗易懂。也可以使用流程图、伪代码表格等其他工具。
在古代,算法通常用于数值计算。中国古代的筹算口诀、珠算口诀及其执行规则就是算法的雏形。它所解决的是数值计算问题。现代算法,已超出数值计算范围。
程序则是为了用计算机解题或控制某一过程而编排的一系列指令的集合。这些指令,可以是计算机的机器指令,也可以是汇编语言和高级程序设计语言。
程序不等于算法。但是,通过程序设计可以在计算机上实现算法。在实际应用中,也许只需一条(组)程序设计语句,就可以完成算法的基本要素处理,包括数据对象的运算和操作,以及顺序、选择、循环结构的控制。通过程序模块设计,可以实现算法中的递推、递归、迭代等一系列基本算法,也包括形式演绎、数据结构、数论图论、加密解密、科学决策等复杂算法。
因此,运用计算机解决问题的过程,通常可以分成三个阶段:分析问题、设计算法和编制程序实现算法。由于计算机运算速度快,存储数据量大,大大提高了算法实现效率。
-
甜酱十大品牌排行榜
依托百度全网大数据,根据品牌评价以及销量评选出了2019年甜酱十大品牌排行榜,前十名分别是粮全其美、利民Limin、天源酱园、六必居、嘉豪、大妃娘娘、桃园建民、好时/HERSHEY’S、李锦记/LEEKUMKEE、hame食品。如果您正在查找甜酱什么牌子好?那么本甜酱十大品牌榜...
-
项链线十大品牌排行榜
依托百度全网大数据,根据品牌评价以及销量评选出了2019年项链线十大品牌排行榜,前十名分别是艾博妮饰品、gsung、莱伊晶、绍元、晶致天下、诺曼西蒙、福瑞堂、大唐滴翠、昌达、MYATOU。如果您正在查找项链线什么牌子好?那么本项链线十大品牌榜单可供您作为选购参...
-
什么叫适当运动
(01)适当运动是指运动者根据个人在运动后感觉舒服,不疲劳,不会造成过度疲劳或者气喘。应该在做每项运动前,先做做热身运动和体操,强化肌肉力量。(02)运动时,应该先慢慢锻炼好基本体力,逐渐强化肌肉力量、持久力及身体柔软度,再进行重量训练,参加有氧运动、跳绳、游泳等动态...
-
澳门哪里可以购物?
越来越多人喜欢去澳门旅游,不仅是因为澳门是国际旅游景点,最重要的是澳门的货品价格相对较低,无论是种类还是服务质量,关税减免都是非常吸引人的,在澳门购物是非常实惠的。但也有不少人还是第一次澳门,那么澳门哪里可以购物?给大家盘点一下。去澳门购物,推荐大家前往澳...