何谓算法?算法有啥性质?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了何谓算法?算法有啥性质?相关的知识,希望对你有一定的参考价值。

算法(algorithm),在数学(算学)和计算机科学之中,为任何一系列良定义的具体计算步骤,常用于计算、数据处理和自动推理。作为一个有效方法,算法被用于计算函数,它包含了一系列定义清晰的指令,并可于有限的时间及空间内清楚的表述出来。

特点:

1、输入:一个算法必须有零个或以上输入量。

2、输出:一个算法应有一个或以上输出量,输出量是算法计算的结果。

3、明确性:算法的描述必须无歧义,以保证算法的实际执行结果是精确地符合要求或期望,通常要求实际运行结果是确定的。

4、有限性:依据图灵的定义,一个算法是能够被任何图灵完备系统模拟的一串运算,而图灵机只有有限个状态、有限个输入符号和有限个转移函数(指令)。而一些定义更规定算法必须在有限个步骤内完成任务。

5、有效性:又称可行性。能够实现,算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

扩展资料:

常用设计模式

完全遍历法和不完全遍历法:在问题的解是有限离散解空间,且可以验证正确性和最优性时,最简单的算法就是把解空间的所有元素完全遍历一遍,逐个检测元素是否是我们要的解。

这是最直接的算法,实现往往最简单。但是当解空间特别庞大时,这种算法很可能导致工程上无法承受的计算量。这时候可以利用不完全遍历方法——例如各种搜索法和规划法——来减少计算量。

1、分治法:把一个问题分割成互相独立的多个部分分别求解的思路。这种求解思路带来的好处之一是便于进行并行计算。

2、动态规划法:当问题的整体最优解就是由局部最优解组成的时候,经常采用的一种方法。

3、贪心算法:常见的近似求解思路。当问题的整体最优解不是(或无法证明是)由局部最优解组成,且对解的最优性没有要求的时候,可以采用的一种方法。

4、简并法:把一个问题通过逻辑或数学推理,简化成与之等价或者近似的、相对简单的模型,进而求解的方法。

参考技术A 算法就是为解决一个特定问题而采取的特定的有限步骤。一个完整的计算机算法必须满足下述5个准则或标准:有穷性、确定性、可行性、输出性。具有上述5个特性才能称为算法,而其中最重要的是算法的有穷性,如果不具备有穷性的性质,仅具有另外4种性质,只能称为计算过程或计算方法,而不是算法。

算法的性质

一个算法是对一种计算过程的一个严格描述,人们i通常认为的算法具有以下性质:

  有穷性(算法描述的有穷性):一个算法的的描述由有限多条指令或语句构成。也就是说,算法必须能用有限长的描述说清楚。

  能行性:算法中的指令(语句)的含义严格简单明确,所描述的操作(计算)过程可以机械的进行。

  确定性:作用于所求解的问题的给定输入(以某种描述形式给出的要处理问题的具体实例),根据算法的描述将产生出唯一的确定的一个动作序列。使用算法就是把问题实例(的表示)送给它,通过确定的操作序列,最终得到相应的解。

  终止性(行为的有穷性):对问题的任何实例,算法产生的动作序列有穷的,它或者终止并给出该问题实例的解;或者终止并指出给定的输入无解。

  输入/输出:有明确定义的输入和输出

满足确定性的算法也称为确定性算法。

人们关注并不要求终止的计算描述,这种描述有时被称为过程。

以上是关于何谓算法?算法有啥性质?的主要内容,如果未能解决你的问题,请参考以下文章

并查集算法详解

Bezier曲线定义与性质,分别给出算法简述。

算法-数组异或操作(异或性质)

贪心算法-LeetCode 134111(递归算法,异或性质,贪心)

算法习题---栈与队列之栈的数学性质

算法8-8:最短路径性质