您好、欢迎来到现金彩票网!
当前位置:秒速时时彩开奖 > 算法分析 >

学算法分析到底有什么用?

发布时间:2019-06-25 09:35 来源:未知 编辑:admin

  JAVA里已经有了很多方法实现了排序了,如Arrays的sort()方法可以对数组排序,Collections的sort()可以对集合排序,而且它的效率很高。经过我的测试,对于千万级集体排序,用我自己写的...

  JAVA里已经有了很多方法实现了排序了,如Arrays的sort()方法可以对数组排序,Collections的sort()可以对集合排序,而且它的效率很高。经过我的测试,对于千万级集体排序,用我自己写的list插入排序算法用时40多秒,而java api自带的Colletions的sort()方法,用时4秒多,擦。。。真不知道一天到晚研究那些算法用什么用,现在api都集成好了,直接调用方法就行了,实在不行,用个第三方包也能搞定,自己写到底有什么用,难道是装高手,懂得算法的就是高手??

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部其实你都说明白了,研究更高效的算法就是为了节省时间。你学过数值分析么?你知道如过没有高效的算法,就按照矩阵的定义,来求20X20的矩阵,目前的电脑要算到地老天荒的。

  API是哪来的?你写的那个能被sun采纳么?如果都不研究排序算法,那么写出来的代码岂不跟你无异?

  云,听说过吧?现在处理的数字,运算量已经超过了你的想象。一百度为例,每一天都处理的数据都是海量的,你要查个东西,没几秒就出来了,那不研究算法,能行么。?

  研究算法,其实是锻炼自己的思维。一个问题有不同的解决方式。当你碰到一个新的事物,你有可能写得出算法,单不一定能写得出代码。比如这个,我就是像想到算法的。

  其实我想问的是,针对数组排序这件事情,有必要自己再研究算法吗?直接用sort()方法搞定可以吗?追答z针对排序而言,目前有快速排序,希尔排序,堆排序等。这些都存在最好最坏的情况。最快的也差不多N*logN这个级别。诚然,我们做为搞软件开发的,没有多大必要去了解算法的具体实现,直接调用已编好的API,开发起来更方便。搞算法的,可以留给数学家们。但是,如果有机会,有那个能力,去了解算法的实现,这是非常好的。举个简单的例子:ArrayLIst与LinkedList的区别,如果不学算法,不去看sun提供的源码,是不会深刻理解他们存在的差异的。有了这个差异,那个我们在实际情况下,到底什么时候选用ArrayList,什么时候用LinkedList,这就会对程序的效率产生很大的影响,尤其是数据比较多。同理,排序算法既然这么多,针对于具体的问题,不一定sort()比自己写的排序算法快(sort() 是经过优化的快速排序)比如9 18 12 11 23 16 25 31 30 47 36数列,用希尔排序就较快,应为他已经大致有序。

  总之,作为开发高效的程序而言,或是作为高级的程序开发人员而言,学算法都是非常有必要的,尽管学起来有点枯燥,需要一定的数学知识。

  API不是万能的,现在学习算法是为了将来解决复杂问题时的那种算法打基础

http://homeschoolwwh.com/suanfafenxi/415.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有