当前位置:懂科普 >

健康养生

> 算法与程序有何异同

算法与程序有何异同

算法是处理解决问题的思路及办法,程序语言是按照一定语法把算法表达来。 算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,

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

1.算法是执行时候运行的有穷性,程序只是一段实现算法的代码 2.算法对于特定的输入有特定的输出,程序提供了确定算法结果的平台 3.算法需要考虑设计的可能,程序则具体是实现算法上的设计 4.算法有输入,算法的输入依靠程序的平台提供 5.同上,

算法与程序有何异同

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

算法是解决问题的步骤;程序是算法的代码实现 算法要依靠程序来完成功能;程序需要算法作为灵魂

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

算法是解决问题的步骤;程序是算法的代码实现 算法要依靠程序来完成功能;程序需要算法作为灵魂

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

程序包含算法,算法就是程序的灵魂,一个需要实现特定功能的程序,实现它的算法可以有很多种,所以算法的优劣决定着程序的好坏。程序员很熟练的掌握了程序设计语言的语法,进行程序设计,软件开发的时候就是设计好的算法,加上软件工程的 理论才

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

算法与程序: (1).一个程序不一定满足有穷性。例操作系统,只要整个系统不遭破坏,它将永远不会停止,即使没有作业需要处理,它仍处于动态等待中。因此,操作系统不是一个算法。 (2).程序中的指令必须是机器可执行的,而算法中的指令则无此

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

C语言是一门编程语言 而算法是指解题方而完整的描述 区别的话,举个例子,有一个算法,他既可以在C语言上实现,也可以在B语言,java,c++,python上实现。算法是程序设计的一部分,而编程语言就是实现算法的工具

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

①程序是你写完源代码后,计算机编译后得到的可执行文件。 ②算法一般结合数学思想,以下内容算是算法: 给数组按大小排序、查找数组某元素、图形处理算法、音频识别处理。 但广义上,用了顺序分支循环就是算法。

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

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样

算法与程序有何异同 第2张

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

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样

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

其实两者可以说关联不大。 算法就是一个处理的方法,比如大学里基础的排序算法,就是为了完成对一组数据排序。查找算法,就是为了在一个集合中查找需要的项。除此之外,还有很多算法,比方说,加密、压缩、图像处理。 而数据结构就是数据的结构

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

算法就是解决该问题的思路,可以用自然语言描述,也可以用伪计算机语言描述,目的是分析出解决该问题的方法. 写程序就是根据分析出的算发编写出符合该编程语言语法规范的代码用来编译执行而得到结果.

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

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 程序是算法的实现语言。

算法与程序有何异同 第3张

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

C程序设计讲述的是C语言的基础知识,语法,常见用法等知识,会含有少量非常简单的算法来作为C语言基础知识讲述的例子; 算法分析设计师一门比较难得课程,通过算法设计解决现实中的问题,这门课程里面那种语言不重要,重要的是算法设计的思想,

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

算法是解决问题的步骤;程序是算法的代码实现 算法可以有流程图,自然语言,伪代码来表示 程序是机器实际可执行的

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

算法是指逻辑层面上解决问题方法的一种描述,一个算法可以被很多不同的程序实现. 算法并不是程序或者函数本身。 一般来说,算法可以被计算机模拟出来,就是说可以被我们写程序写出来。程序只是一个手段,让计算机去机械式地执行,算法才是灵魂,

扩展阅读,以下内容您可能还感兴趣。

何谓算法?它与程序有何区别?

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。

时间复杂度

算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n 的函数f(n),算法的时间复杂度也因此记做

T(n)=Ο(f(n))

因此,问题的规模n 越大,算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。

空间复杂度

算法的空间复杂度是指算法需要消耗的空间资源。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。

详见百度百科词条"算法复杂度" [编辑本段]算法设计与分析的基本方法   1.递推法

递推法是利用问题本身所具有的一种递推关系求问题解的一种方法。它把问题分成若干步,找出相邻几步的关系,从而达到目的,此方法称为递推法。

2.递归

递归指的是一个过程:函数不断引用自身,直到引用的对象已知

3.穷举搜索法

穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。

4.贪婪法

贪婪法是一种不追求最优解,只希望得到较为满意解的方法。贪婪法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪婪法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪婪法不要回溯。

5.分治法

把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

6.动态规划法

动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。其基本思想是,将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解。动态规划的思想是多种算法的基础,被广泛应用于计算机科学和工程领域。

7.迭代法

迭代是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题(一般是解方程或者方程组)的过程,为实现这一过程所使用的方法统称为迭代法。 [编辑本段]算法分类   算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法。

算法可以宏泛的分为三类:

有限的,确定性算法 这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。

有限的,非确定算法 这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。

无限的算法 是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。

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

1、有穷性: 一个算法必须保证执行有限步之后结束;

2、确切性: 算法的每一步骤必须有确切的定义;

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

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

5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

计算机科学家尼克劳斯-沃思曾著过一本著名的书《数据结构十算法= 程序》,可见算法在计算机科学界与计算机应用界的地位。程序(港台称之为程式) program(me)或procedure

chénɡ xù

概念1.:为进行某活动或过程所规定的途径。

概念2.程序是由序列组成的,告诉计算机如何完成一个具体的任务。由于现在的计算机还不能理解人类的自然语言,所以还不能用自然语言编写计算机程序。

指示计算机按解决问题的步骤

实现预期目的而进行操作的一系列语句和指令。一般分为系统程序和应用程序两大类。 计算机中的程序在港澳台地区称为程式。程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。由程序计数器(Program Counter)控制。程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。是用汇编语言、高级语言等开发编制出来的可以运行的文件,在计算机中称可执行文件(后缀名一般为.exe)。我们玩的游戏一般都是应用程序(但现在后缀名为.swf的Flash影片类的游戏也比较流行)

为了一个程序运行,计算机加载程序代码,可能还要加载数据,从而初始化成一个开始状态,然后调用某种启动机制。在最低层上,这些是由一个引导序列开始的。

在大多数计算机中,操作系统例如视窗等,加载并且执行很多程序。在这种情况下,一个计算机程序是指一个单独的可执行的映射,而不是当前在这个计算机上运行的全部程序。

数据结构简述算法和程序的区别课后题

其实两者可以说关联不大。

算法就是一个处理的方法,比如大学里基础的排序算法,就是为了完成对一组数据排序。查找算法,就是为了在一个集合中查找需要的项。除此之外,还有很多算法,比方说,加密、压缩、图像处理。

而数据结构就是数据的结构。比方说队列、堆、栈、链表、树等。

大学里的《算法与数据结构》这门课是个入门的算法课和数据结构课程。教授针对不同的数据结构进行的排序、查找、遍历的不同算法。仅是算法基础,就像大学里都是以C语言作为入门语言一样的。本回答被提问者采纳

写算法和写程序有什么区别啊 请你们指教

算法就是解决该问题的思路,可以用自然语言描述,也可以用伪计算机语言描述,目的是分析出解决该问题的方法.

写程序就是根据分析出的算发编写出符合该编程语言语法规范的代码用来编译执行而得到结果.

算法和计算机程序之间有区别吗

有。。。

算法是计算

程序也有计算,但是还有别的东西,比如说数值传递

什么是数据结构?什么是算法?算法与程序有什么关系?

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。

程序是算法的实现语言。

标签: 异同 算法
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/jiankangyangsheng/j8ey7g.html