算法的特性
⑴ 算法的基本特性是什么
算法的基本特性
1、有穷性
算法的有穷性是指算法必须能在执行有限个步骤之后终止;
2、确切性
算法的每一步骤必须有确切的定义;
3、输入项
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4、输出项
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。
算法可以宏泛得分为三类
一、有限的,确定性算法 这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。
二、有限的,非确定算法 这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。
三、无限的算法 是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。
⑵ 算法的基本特征是
算法
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、有穷性(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止。
2、确切性(Definiteness)
算法的每一步骤必须有确切的定义。
3、输入项(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件。
4、输出项(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。
5、可行性(Effectiveness)
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。
递归法
程序调用自身的编程技巧称为递归(recursion)。
一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
⑷ "算法"的基本特征有哪些
一个算法应该具有以下五个重要的特征:
1、有穷性: 一个算法必须保证执行有限步之后结束;
2、确切性: 算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成
⑸ 算法的五大特性是什么
输入:在算法中可以有零个或者多个输入。
输出:在算法中至少有一个或者多个输出。
有穷行:在执行有限的步骤之后,自动结束不会出现无限循环并且每一个步骤在可接受的时间内完成。
确定性:算法的每一个步骤都具有确定的含义,不会出现二义性。
可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限的次数完成。
⑹ 算法具有什么特征
一个算法应该具有以下五个重要的特征:
1,有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止;
2,确切性(Definiteness):算法的每一步骤必须有确切的定义;
3,输入项(Input):一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4,输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5,可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
(6)算法的特性扩展阅读:
算法要素:
一,数据对象的运算和操作:计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,成为该计算机系统的指令系统。一个计算机的基本运算和操作有如下四类:
1,算术运算:加减乘除等运算
2,逻辑运算:或、且、非等运算
3,关系运算:大于、小于、等于、不等于等运算
4,数据传输:输入、输出、赋值等运算
二,算法的控制结构:一个算法的功能结构不仅取决于所选用的操作,而且还与各操作之间的执行顺序有关。
⑺ 算法的性质有哪些
算法的一般性质包括:
(1) 通用性 对于那些符合输入类型的任意输入数据,都能根据算法进行问题求解,包保证计算结构的正确性。
(2) 有效性 组成算法的每一条指令都必须是能够被人或机器确切执行的。
(3) 确定性 算法每执行一步之后,对于它的下一步,应该有明确的指示。即,保证每一步之后都有关于下一步动作的指令,不能缺乏下一步指令或仅仅含有模糊不清的指令。
(4) 有穷性 算法的执行必须在有限步内结束。
⑻ 算法的主要特征
算法是一个有穷规则的集合,这些规则确定了解决某类问题的一个运算序列。对于该类问题的任何初始输入值,它都能机械地一步一步地执行计算,经过有限步骤后终止计算并产生输出结果。归纳起来,算法具有以下基本特征:
(1) 有穷性:一个算法必须在执行有限个操作步骤后终止;
(2) 确定性:算法中每一步的含义必须是确切的,不可出现任何二义性;
(3) 有效性:算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的。例如,一个数被0除的操作就是无效的,应当避免这种操作。
(4) 有零个或多个输入:这里的输入是指在算法开始之前所需要的初始数据。这些输入的多少取决于特定的问题。例如,例l-1的算法中有2个输入,即需要输入a和b两个初始数据,而例l-2的算法中则需要输入四个初始数据。有些特殊算法也可以没有输入。
(5) 有一个或多个输出:所谓输出是指与输入有某种特定关系的量,在一个完整的算法中至少会有一个输出。如上述关于算法的三个例子中,每个都有输出。试想,如果例1-3中没有 "输出n的当前值"这一步,这个算法将毫无意义。
⑼ 计算机算法必须具备哪5个特性
1、有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上“有穷性”往往指“在合理的范围之内”。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,人们不把他视为有效算法。
2、确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生“歧义性”。
3、有零个或多个输入性。所谓输入是指在执行算法是需要从外界取得必要的信息。
4、有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。
5、有效性。 算法中的每一个 步骤都应当能有效的执行。并得到确定的结果。
(9)算法的特性扩展阅读
计算机算法的产生背景:
欧几里得算法被人们认为是史上第一个算法。 第一次编写程序是Ada Byron于1842年为巴贝奇分析机编写求解伯努利方程的程序,因此Ada Byron被大多数人认为是世界上第一位程序员。
因为查尔斯·巴贝奇未能完成他的巴贝奇分析机,这个算法未能在巴贝奇分析机上执行。 因为"well-defined procere"缺少数学上精确的定义,19世纪和20世纪早期的数学家、逻辑学家在定义算法上出现了困难。
⑽ 算法特性
A 有穷性
算法可以通过有限的基本操作来实现,
B不对,因数这里所说的有限次,而并没有对这有限次的次数给定一个范围,如果一个密码需要计算机使用这一算法计算100年可以算出来,这一算法还是不可行的。
C、D都不对,因为这里根本没有对这两个方面进行描述。