导航:首页 > 源码编译 > 简洁性是算法特征吗

简洁性是算法特征吗

发布时间:2023-02-03 03:04:28

❶ "算法"的基本特征有哪些

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

1,有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止;

2,确切性(Definiteness):算法的每一步骤必须有确切的定义;

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

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

5,可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。


(1)简洁性是算法特征吗扩展阅读:

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。

不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。

一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形。

这些尝试包括库尔特·哥德尔、Jacques Herbrand和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的递归函数,阿隆佐·邱奇于1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾伦·图灵1937年提出的图灵机。

即使在当前,依然常有直觉想法难以定义为形式化算法的情况。

参考资料:网络----算法

❷ 算法的特征是什么

1、可行性

算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。

2、有穷性

算法的有穷性是指算法必须能在执行有限个步骤之后终止。

3、确切性

算法的每一步骤必须有确切的定义。

算法的方法

穷举法,或称为暴力破解法,其基本思路是:对于要解决的问题,列举出它的所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解。它也常用于对于密码的破译,即将密码进行逐个推算直到找出真正的密码为止。

例如一个已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试10000次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码,问题只在于如何缩短试误时间。因此有些人运用计算机来增加效率,有些人辅以字典来缩小密码组合的范围。

❸ 算法的基本特征是

算法

3分钟了解今日头条算法原理(科普版)
02:43

什么是算法
04:28
概述
历史发展
算法分类
算法特征
算法要素
算法评定
目录
1摘要
2基本信息
3概述
4历史发展
5算法分类
6算法特征
7算法要素
数据的运算和操作
算法的控制结构
8算法评定
9描述方式
10史料记载
11基本方法
12参考资料
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制;它是求解问题类的、机械的、统一的方法,常用于计算、数据处理(英语:Data processing)和自动推理。可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

基本信息
中文名
算法

外文名
Algorithm

拼音
suanfa

出处
数学 计算机

定义
是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制

展开全部
概述
求解问题类的、机械的、统一的方法,它由有限多个步骤组成,对于问题类中的每个给定的具体问题,机械地执行这些步骤就可以得到问题的解答。算法的这种特性,使得计算不仅可以由人,而且可以由计算机来完成。用计算机解决问题的过程可以分成三个阶段:分析问题、设计算法和实现算法。[1]

历史发展
中国古代的筹算口决与珠算口决及其执行规则就是算法的雏形,这里,所解决的问题类是算术运算。古希腊数学家欧几里得在公元前3世纪就提出了一个算法,来寻求两个正整数的最大公约数,这就是有名的欧几里得算法,亦称辗转相除法。中国早已有“算术“、“算法”等词汇,但是它们的含义是指当时的全部数学知识和计算技能,与现代算法的含义不尽相同。英文algorithm(算法)一词也经历了一个演变过程,最初的拼法为algorism或algoritmi,原意为用阿拉伯数字进行计算的过程。这个词源于公元 9世纪波斯数字家阿尔·花拉子米的名字的最后一部分。[1]

在古代,计算通常是指数值计算。现代计算已经远远地突破了数值计算的范围,包括大量的非数值计算,例如检索、表格处理、判断、决策、形式逻辑演绎等。

在20世纪以前,人们普遍地认为,所有的问题类都是有算法的。20世纪初,数字家们发现有的问题类是不存在算法的,遂开始进行能行性研究。在这一研究中,现代算法的概念逐步明确起来。30年代,数字家们提出了递归函数、图灵机等计算模型,并提出了丘奇-图灵论题(见可计算性理论),这才有可能把算法概念形式化。按照丘奇-图灵论题,任意一个算法都可以用一个图灵机来实现,反之,任意一个图灵机都表示一个算法。

按照上述理解,算法是由有限多个步骤组成的,它有下述两个基本特征:每个步骤都明确地规定要执行何种操作;每个步骤都可以被人或机器在有限的时间内完成。人们对于算法还有另一种不同的理解,它要求算法除了上述两个基本特征外,还要具有第三个基本特征:虽然有些步骤可能被反复执行多次,但是在执行有限多次之后,就一定能够得到问题的解答。也就是说,一个处处停机(即对任意输入都停机)的图灵机才表示一个算法,而每个算法都可以被一个处处停机的图灵机来实现[1]

算法分类
算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法。[1]

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

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

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

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

算法特征
1、输入项:一个算法有零个或多个输入,以刻画运算对象的初始情况。例如,在欧几里得算法中,有两个输入,即m和n。[1]

2、确定性:算法的每一个步骤必须要确切地定义。即算法中所有有待执行的动作必须严格而不含混地进行规定,不能有歧义性。例如,欧几里得算法中,步骤1中明确规定“以m除以n,而不能有类似以m除n以或n除以m这类有两种可能做法的规定。

3、有穷性:一个算法在执行有穷步滞后必须结束。也就是说,一个算法,它所包含的计算步骤是有限的。例如,在欧几里得算法中,m和n均为正整数,在步骤1之后,r必小于n,若r不等于0,下一次进行步骤1时,n的值已经减小,而正整数的递降序列最后必然要终止。因此,无论给定m和n的原始值有多大,步骤1的执行都是有穷次。

4、输出:算法有一个或多个的输出,即与输入有某个特定关系的量,简单地说就是算法的最终结果。例如,在欧几里得算法中只有一个输出,即步骤2中的n。

5、能行性:算法中有待执行的运算和操作必须是相当基本的,换言之,他们都是能够精确地进行的,算法执行者甚至不需要掌握算法的含义即可根据该算法的每一步骤要求进行操作,并最终得出正确的结果。[1]

❹ 算法特征有哪些

一个算法应该具有以下五个重要的特征:
1、有穷性: 一个算法必须保证执行有限步之后结束;
2、确切性: 算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成

参考资料: http://ke..com/view/7420.html?tp=4_01

❺ 算法及其特性有哪些

1.算法的重要特性(1)有穷性:一个算法必须在执行有穷步骤之后正常结束,而不能形成无穷循环。

(2)确定性:算法中的每一条指令必须有确切的含义,不能产生多义性。

(2)可行性:算法中的每一条指令必须是切实可执行的,即原则上可以通过已经实现的基本运算执行有限次来实现。

(4)输入:一个算法应该有零个或多个输入。

(5)输出:一个算法应该有一个或多个输出,这些输出是同输入有特定关系的量。

2.算法描述的方法(1)框图描述:该方法使用流程图或N-S图来描述算法。

(2)自然语言描述:该方法采用自然语言,同时添加高级程序设计语言如while、for和if等基本控制语句来描述算法。这类描述方法自然、简洁,但缺乏严谨性和结构性。

(2)类语言描述:这是介于程序设计语言和自然语言之间算法描述形式,其特征是突出算法设计的主体部分而有意忽略某些过于严格的语法细节,如类C或C++的伪语言。这种算法不能直接在计算机上运行,但专业设计人员经常使用它来描述算法,它具有容易编写、阅读和格式统一的特点。

(4)程序设计语言描述:采用某种高级程序设计语言(如C或C++)来描述。这是可以在计算机上运行并获得结果的算法描述。

本课程将采用伪C语言进行算法描述。

2.算法与程序的关系算法的含义与程序十分相似,但二者是有区别的。算法和程序都是用来表达解决问题的逻辑步骤;算法是对解决问题方法的具体描述,程序是算法在计算机中的具体实现;一个程序不一定满足有穷性(死循环),而算法一定满足有穷性;程序中的指令必须是机器可执行的,而算法中的指令则无此限制;一个算法若用计算机语言来书写,则它就可以是一个程序。因此,程序是算法,但算法不一定是程序。4.算法设计要求在算法设计中,对同一个问题可以设计出不同的求解算法。如何评价这些算法的优劣,从而为算法设计和选择提供可靠的依据?通常可从以下四个方面评价算法的质量:

(1)正确性:算法应该能够正确地执行预先规定的功能,并达到所期望的性能要求。

(2)可读性:算法应该好读,以有利于读者对程序的理解,便于调试和修改。

(2)健壮性:算法应具有容错处理。当输入非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。

(4)效率与低存储量需求:效率指的是算法执行的时间。对于同一个问题,如果有多种算法可以求解,执行时间短的算法效率高。算法存储量指的是算法执行过程中所需要的最大存储空间。高效率和低存储量这两者与问题的规模有关。

阅读全文

与简洁性是算法特征吗相关的资料

热点内容
怎么把多个word合并成一个pdf 浏览:542
电学基础pdf 浏览:726
cad插件怎么编译 浏览:617
网校源码软件 浏览:667
思科常用配置命令 浏览:377
水容易被压缩吗 浏览:753
java项目试题 浏览:315
为什么安卓拍照没有苹果成相快 浏览:516
安卓版的苹果手机叫什么 浏览:373
手机怎么解压文件夹压缩包 浏览:459
起源任务咋解压 浏览:976
加密式的监督检查 浏览:549
光遇怎么分辨安卓国服和渠道服 浏览:242
ico解压教程 浏览:632
程序员偏右 浏览:17
超算上可以进行vasp编译嘛 浏览:174
北京通app怎么注册登录 浏览:820
iphone上的数据怎么转移到安卓 浏览:743
python求每个时段平均值 浏览:244
安卓手机右上出现Hg什么意思 浏览:69