美文网首页
算法的定义

算法的定义

作者: 世界补丁 | 来源:发表于2019-01-10 14:45 被阅读0次

1.算法是什么

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

2.算法的特点

2.1 有穷性

能在有限的指令中终止。

2.2 确切性

每一个指令有确切的定义,没有歧义。

2.3 输入项

有0个或多个输入,以刻画运算对象的初始情况,0个输入是指算法本身定出了初始条件。

2.4 输出项

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

2.5 可行性

每个指令本身是可执行的,或者可分解为可执行的基本指令。

3.算法的一个实例

3.1 欧几里得算法

欧几里得算法的作用是求最大公约数

3.2 伪代码描述

Euclid(m,n)
//输入:两个不全为0的非负整数m,n
//输出:m,n的最大公约数
while n != 0 do
r = m mod n
m = n
n = r
return m

3.3 为什么它是一个算法

3.3.1 有穷性

每执行一次循环体,n = m mod n,n比原值小,所以总有n = 0的时候,此时算法终止。

3.3.2 确切性

算法中涉及的有while循环、不等式判断、求余和赋值,每一项都是确切的指令,没有歧义。

3.3.3 输入项

算法中有m,n两个明面输入项,m和n是非负整数且不全为0。

3.3.4 输出项

算法有一个输出项,那就是m和n的最大公约数。

3.3.5 可行性

算法中涉及的while循环、不等式判断、求余和赋值这几种指令都是简单的操作,从数学角度和计算机角度都是可行的。

3.4 C++实现

unsigned int Euclid(unsigned int m, unsigned int n) {
  unsigned int r;
  while (n != 0) {
    r = m % n;
    m = n;
    n = r;
  }
  return m;
}

相关文章

  • 1.公共知识——数据库结构和算法

    算法 算法的定义 算法的特征 算法的基本要素 算法的复杂度 数据结构 数据结构的定义 逻辑结构和物理结构 线性结构...

  • 模板方法模式

    定义:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的...

  • 设计模式之模板方法

    1、定义 定义算法框架,并将一些步骤的实现延迟到子类。通过模板方法,子类可以重新定义算法的某些步骤,而不用改变算法...

  • 算法的定义

    1.算法是什么 算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题...

  • 模板模式

    定义: 定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变算法的结构即可重复定义算法的某些特点步骤...

  • 模板方法模式

    定义 定义一个操作中的算法的框架,将部分步骤延迟到子类实现,子类可以不改变算法的结构,重新定义该算法的某些特定步骤...

  • 模板方法模式

    一、定义 定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变算法的结构即可重复定义算法的某些特点步...

  • sgd(params, lr, batch_size)

    定义优化算法

  • 策略模式

    策略模式的定义 定义: 策略模式(Strategy Pattern):定义一组算法,将每个算法都封装起来,并且使它...

  • 5、Strategy 策略模式

    1、定义 策略模式的主要目的是将算法的定义和使用分开,也就是将算法的行为和环境分开,将算法的定义放在专门的策略类中...

网友评论

      本文标题:算法的定义

      本文链接:https://www.haomeiwen.com/subject/bncarqtx.html