算法是什么?急!!!!

作者&投稿:文炎 (若有异议请与网页底部的电邮联系)
~ 分类: 电脑/网络 >> 程序设计 >> 其他编程语言
解析:

算法 Algorithm

算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。

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

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

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

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

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

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

算法的设计要求

1)正确性(Correctness)

有4个层次:

A.程序不含语法错误;

B.程序对几组输入数据能够得出满足规格要求的结果;

C.程序对精心选择的、典型的、苛刻的、带有刁难性的几组输入数据能够得出满足规格要求的结果;

D.程序对一切合法的输入数据都能产生满足规格要求的结果。

2)可读性(Readability)

算法的第一目的是为了阅读和交流;

可读性有助于对算法的理解;

可读性有助于对算法的调试和修改。

3)高效率与低存储量

处理速度快;存储容量小

时间和空间是矛盾的、实际问题的求解往往是求得时间和空间的统一、折中。

算法的描述 算法的描述方式(常用的)

算法描述 自然语言

流程图 特定的表示算法的图形符号

伪语言 包括程序设计语言的三大基本结构及自然语言的一种语言

类语言 类似高级语言的语言,例如,类PASCAL、类C语言。

算法的评价 算法评价的标准:时间复杂度和空间复杂度。

1)时间复杂度 指在计算机上运行该算法所花费的时间。用“O(数量级)”来表示,称为“阶”。

常见的时间复杂度有: O(1)常数阶;O(logn)对数阶;O(n)线性阶;O(n^2)平方阶

2)空间复杂度 指算法在计算机上运行所占用的存储空间。度量同时间复杂度。

时间复杂度举例

(a) X:=X+1 ; O(1)

(b) FOR I:=1 TO n DO

X:= X+1; O(n)

(c) FOR I:= 1 TO n DO

FOR J:= 1 TO n DO

X:= X+1; O(n^2)

“算法”一词最早来自公元 9世纪 波斯数学家比阿勒·霍瓦里松的一本影响深远的著作《代数对话录》。20世纪的 英国 数学家 图灵 提出了著名的图灵论点,并抽象出了一台机器,这台机器被我们称之为 图灵机 。图灵的思想对算法的发展起到了重要的作用。

算法是 计算机 处理信息的本质,因为 计算机程序 本质上是一个算法,告诉计算机确切的步骤来执行一个指定的任务,如计算职工的薪水或打印学生的成绩单。 一般地,当算法在处理信息时,数据会从输入设备读取,写入输出设备,可能保存起来以供以后使用。

这是算法的一个简单的例子。

我们有一串随机数列。我们的目的是找到这个数列中最大的数。如果将数列中的每一个数字看成是一颗豆子的大小 可以将下面的算法形象地称为“捡豆子”:

首先将第一颗豆子(数列中的第一个数字)放入口袋中。

从第二颗豆子开始检查,直到最后一颗豆子。如果正在检查的豆子比口袋中的还大,则将它捡起放入口袋中,同时丢掉原先的豆子。 最后口袋中的豆子就是所有的豆子中最大的一颗。

下面是一个形式算法,用近似于 编程语言 的 伪代码 表示

给定:一个数列“list",以及数列的长度"length(list)" largest = list[1] for counter = 2 to length(list): if list[counter] > largest: largest = list[counter] print largest

符号说明:

= 用于表示赋值。即:右边的值被赋予给左边的变量。

List[counter] 用于表示数列中的第 counter 项。例如:如果 counter 的值是5,那么 List[counter] 表示数列中的第5项。

<= 用于表示“小于或等于”。

算法的分类

(一)基本算法 :

1.枚举

2.搜索:

深度优先搜索

广度优先搜索

启发式搜索

遗传算法

(二)数据结构的算法

(三)数论与代数算法

(四)计算几何的算法:求凸包

(五)图论 算法:

1.哈夫曼编码

2.树的遍历

3.最短路径 算法

4.最小生成树 算法

5.最小树形图

6.网络流 算法

7.匹配算法

(六)动态规划

(七)其他:

1.数值分析

2.加密算法

3.排序 算法

4.检索算法

5.随机化算法


法的含义是什么呀?
法的含义是由国家制定或认可,以权利义务为主要内容,由国家强制力保证实施的社会行为规范及其相应的规范性文件的总称。法作为一种特殊的社会规范,是人类社会发展的产物。广义的法是指国家按照统治阶级的利益和意志制定或者认可、并由国家强制力保证其实施的行为规范的总和。狭义的法是指具体的法律规范,包...

什么是法,法的定义是什么?
法是由国家制定、认可并依靠国家强制力保证实施的,以权利和义务为调整机制,以人的行为及行为关系为调整对象,反映由特定物质生活条件所决定的统治阶级或人志,以确认、保护和发展统治阶级或人民所期望的社会关系和价值目标为目的的行为规范体系。

法和法律的区别是什么?
法只能是掌握了国家政权的阶级在国家强制力作为根本保障的前提条件下,制定和颁布并具有普遍约束力的统一的社会规范。 【法律分析】现代意义上的法强调法的社会性,法所体现和反映的社会经济状况、社会生活条件,人类本身的需要。如世界贸易组织的建立、数量繁多的国际条约的签订与适用,在根本的意义上反映了...

法家的“法”“势”“术”分别是什么意思?具体指什么?
法:指法律,是处理政事的基本;权,指权术,是君主控御群臣的工具;势。指势力,是君主的政权、权威,即权威。主要代表人有商鞅、申不害。慎到。商鞅重“法”。建立新型的军功爵制,激励士兵奋勇杀敌;奖励耕织,保证了秦国后方粮草充足;制定新法,使得百姓各司其职,安分守己。法家的人普遍认为人性...

“道法自然”的“法”字是什么意思?
“法”有几种说:一、法规,法则。修道的法则,就是自然无为!二、效法。道,效法自然!三、方法,途径。修行的方法,就是效法自然!四、泛指道家佛家的所谓拿妖捉怪的技术。如:咒语、法事等!就是说,例行法事,也要顺其自然!做为一般人,知道这些就可以了!想知道更多,修“道”吧!

请问什么是法?什么是佛?
【法】 指一切的事物。一切的事物,不论大的小的,有形的或是无形的,都叫做法,不过有形的是叫做色法,无形的是叫做心法。 FROM:【陈义孝《佛学常见辞汇》】 【佛】 梵语佛陀的简称,华译为觉者,也就是正觉和遍知的大觉大悟者。遍知是说对于宇宙事理无所不知觉,正觉是说所知正确真实而无...

法字的古义是什么?
灋 fǎ (名)会意。从“水”,表示法律、法度公平如水;从“廌”( zhì),即解廌,神话传说中的一种神兽,据说,它能辨别曲直,在审理案件时,它能用角去触理曲的人。基本义:刑法;法律;法度 灋,刑也。平之如水。从水,廌所以触不直者去之,从去,会意。——《说文》利用刑人,以正法也。

法家主张的“法”究竟是什么,和现在的“法”区别在哪?
所以古代法治主要是“法”与“势”的内在矛盾,使其注定成不了真正的法治。回到正题来,中国古代法家的法治和现代法治的区别是什么,愚以为就是法与势的关系,古代法与势合一,故法治只是理想,而不可能实现;而现代法与势分开,司法独立,使法治真正得以实现。至于人人平等,保护人权等等都是法与势分开...

什么是法律?急用哦!!!
法律是由国家制定或认可并以国家强制力保证实施的,反映由特定物质生活条件所决定的统治阶级意志的规范体系。 [1] 法律是统治阶级意志的体现,是国家的统治工具。

佛教中的“法”和“非法”是什么意思?
“法”,就是一切事物,一切存在,比如天地、风云、山河、喜乐、声音、爱恨、文字、黑白、甜苦、忆忘、时间、空间、佛法、佛,总之一切。“非法”,就是遮止这一切,勉强理解为“无”、“空”,否 法有时候特指佛的教法,非法有时候指不合规矩,不正确,不符合佛的教法。

阿里地区17283264808: 算法是什么?急!!!! -
冉股白及: 算法 Algorithm算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法. ...

阿里地区17283264808: 算法是什么?怎么写学
冉股白及: 对于程序员来说,学习算法真的很重要.今天我就来给大家讲一讲到底什么是算法,如何更好的去学习算法.所谓算法指的是解决实际问题的一系列方法.很多人以为算法是一个新词汇,只和计算机有关系.其实算法的意识非常多久跟人类的生...

阿里地区17283264808: 什么是算法? -
冉股白及: 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法. 一个算法应该具有以下五个重要的特征: 1、有穷性: 一个算法必须保证执行有限步之后结束; 2、确切性: 算法的每一步骤必须有确切的定义; 3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件; 4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的; 5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成.

阿里地区17283264808: 什么是算法(不要从计算机的角度回答) -
冉股白及: 算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤.或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题.算法(Algorithm)是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.

阿里地区17283264808: 计算机算法是什么? -
冉股白及: 一、算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.算法常常含有重复的步骤和一些比较或逻辑判断.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题....

阿里地区17283264808: 在计算机程序语言里算法是什么意思 -
冉股白及: 1,spam拌spam那是个食谱的例子,做菜是按照食谱一步一步来,计算机完成一件事情也一样,按程序一个指令一个指令来,所以程序是指令的有序序列.2,食谱往往是顺序结构的,就是先什么后什么一鼓作气下来这样,而程序结构有三种,顺序结构、判断结构(if)、循环结构(while),这个书上也一定有说.2,算法则是程序的逻辑设计思想,也就是完成一件事情的方法.比如求1加到100的和,有许多种不同方法,那些都是算法.如果楼主对此感兴趣建议阅读《算法导论》.算法往往独立于语言,是抽象的思想,可以用不同语言实现,python简单易学,而且是面向对象的,而且有很多第三方软件包可供调用,当是极好的.希望对你有帮助.

阿里地区17283264808: 数据结构和算法是什么东西?
冉股白及: 数据结构是特殊的数组,里面的类型可以不同. 算法,是解决问题的方法.

阿里地区17283264808: 数学中都有什么算法啊? -
冉股白及: 算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法,厄米变形模型,随机森林算法.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网