JAVA 两种算法的比较(高斯算法以及普通算法)
Posted 嘻嘻硕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 两种算法的比较(高斯算法以及普通算法)相关的知识,希望对你有一定的参考价值。
算法
- 两种算法的比较
- 算法的独特
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或多个输出,不需要输出写这个算法干嘛
输出形式可以是 打印或返回一个或多个值。
有穷性:
指算法在执行有用的步骤后,会自动结束而不会出现无线循环
,并且在可以
接受的时间完成。
确定性:算法每一步都是具有确定意义的,不会出现二义性
算法在一定条件下 只有一条执行路劲 相同的输入只有唯一结果。
可行性 算法每一步都是可行的,每一步都要通过有限次数执行。
简称:快 准 稳 算的要块 要准确 要稳定 - 符合逻辑。
学习内容为:<大话数据结构>
以上是关于JAVA 两种算法的比较(高斯算法以及普通算法)的主要内容,如果未能解决你的问题,请参考以下文章