加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

一个demo告诉你优化算法的强大

发布时间:2020-12-14 06:29:58 所属栏目:Java 来源:网络整理
导读:这里的demo是一个累加算法,如1,2,3,4.....n 即:sum = 1+2+3+4......+n; 我们可以这样做: cycle( sum = 0 ( i = 1,v = value; i sum += } 另一种方法(高斯方法): (n+1)*n/2 gaosi( sum = 0 sum = (value + 1) * value / 2 } 我们可以写一个demo来测试他们

这里的demo是一个累加算法,如1,2,3,4.....n

即:sum = 1+2+3+4......+n;

我们可以这样做:

cycle( sum = 0 ( i = 1,v = value; i <= v; i++ sum += }

另一种方法(高斯方法):

(n+1)*n/2
gaosi( sum = 0 sum = (value + 1) * value / 2 }

我们可以写一个demo来测试他们的差别:

cycle( sum = 0 ( i = 1,v = value; i <= v; i++ sum += (n+1)*n/2
gaosi( sum = 0 sum = (value + 1) * value / 2 value = 10000000 sum = 0 start = sum = end = System.out.println("使用循环累加方法从[1]累加到["+value+"]用时 : ["+(end - start) + "]ms,结果:"+ start = sum = end = System.out.println("使用高斯方法从[1]累加到["+value+"]用时 : ["+(end - start) + "]ms,结果:"+ }

你可以改变main方法中的value的值,来测试他们所消耗的系统时间....

当然不同配置的机器运行结果是不一样的...

我机器运行情况:

使用循环累加方法从[1]累加到[10000000]用时 : [24]ms,结果:500000050000001]累加到[10000000]用时 : [0]ms,结果:50000005000000

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读