关于算法-数据结构:JAVA-两种算法的比较高斯算法以及普通算法

78次阅读

共计 575 个字符,预计需要花费 2 分钟才能阅读完成。

算法


  • 两种算法的比拟
  • 算法的独特

1. 写一个 求 1 加到 100 的程序 大多数人马上会写出以下的代码

写法 1

  // 容器
  int sum = 0;
  
  for (int i = 1; i <= 100 ; i++) {
        // 1+2+3+4... 加到 100 
        sum = i + sum;
  }
       // 输入后果 5050
        System.out.println(sum);


问题是这样写是不是真的很好呢,或者来说最高效呢?


这是高斯小时候就想出过一种求等差数列的算法

写法 2


int sum = 0, n =100;
        // (1 + 100) * 50 = 5050
        sum = (1+ n) * n/2;
        // 输入后果 5050
        System.out.println(sum);

写法 1 算法每次计算须要挨个挨个的加。
写法 2 呢也就一瞬间的事他提前晓得了后果。


算法的个性:
输入 输出 有穷性 + 确定性 + 可行性 = 算法。


输入输出

输出 :具备 0 个或者多个的输出 一般来说 有参数是必要的。
输入 :算法必须有 1 或多个输入,不须要输入写这个算法干嘛
输入模式能够是 打印 返回一个或多个值


有穷性
指算法在执行有用的步骤后,会主动完结而不会呈现 无线循环 ,并且在 能够 承受的工夫实现。


确定性 :算法每一步都是具备 确定意义 的,不会呈现 二义性
算法在肯定条件下 只有一条执行路劲 雷同的输出只有惟一后果。


可行性 算法每一步都是可行的,每一步都要通过无限次数执行。


简称 :快 准 稳 算的要块 要精确 要稳固 – 合乎逻辑。


学习内容为:< 大话数据结构 >

正文完
 0