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


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

文章插图
一个算法应该具有以下五个重要的特征:
1,有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止;
2,确切性(Definiteness):算法的每一步骤必须有确切的定义;
3,输入项(Input):一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4,输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果 。没有输出的算法是毫无意义的;
5,可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性) 。
扩展资料:
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制 。
也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出 。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题 。
不同的算法可能用不同的时间、空间或效率来完成同样的任务 。一个算法的优劣可以用空间复杂度与时间复杂度来衡量 。
【"算法"的基本特征有哪些?】算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态 。
一个状态到另一个状态的转移不一定是确定的 。随机化算法在内的一些算法,包含了一些随机输入 。
形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形 。
这些尝试包括库尔特·哥德尔、Jacques Herbrand和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的递归函数,阿隆佐·邱奇于1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾伦·图灵1937年提出的图灵机 。
即使在当前,依然常有直觉想法难以定义为形式化算法的情况 。
参考资料:百度百科----算法
算法有五个基本特征,具体如下:
1、确定性:每一步指令必须有确定的含义 。不可存在二义性,且算法只有一个入口和出口;
2、有穷性:是指算法有有穷个步骤,并且执行需有穷时间;
3、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成;
4、输入:有零个或多个输入,取自于某个特定的对象集合;
5、输出:有一个或多个输出 。
拓展内容:
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制 。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出 。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题 。不同的算法可能用不同的时间、空间或效率来完成同样的任务 。一个算法的优劣可以用空间复杂度与时间复杂度来衡量 。
参考资料来源:算法_百度百科
一个算法应该具有以下五个重要的特征:
1、有穷性(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止 。
2、确切性(Definiteness)
算法的每一步骤必须有确切的定义 。
3、输入项(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件 。
4、输出项(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果 。没有输出的算法是毫无意义的 。
5、可行性(Effectiveness)
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性) 。
递归法
程序调用自身的编程技巧称为递归(recursion) 。
一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量 。
递归的能力在于用有限的语句来定义对象的无限集合 。一般来说,递归需要有边界条件、递归前进段和递归返回段 。当边界条件不满足时,递归前进;当边界条件满足时,递归返回 。

推荐阅读