征集最快的排序算法 如题,写出源代码,用java写,实在不行,用c也可以,c++就算了,本人不太懂。给出时间复杂度。另外,再问一句,全世界或全中国有几个可以说出“不就算法,有什么大不了”的这句话?如数不胜数,可以说数不清。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有最快的算法 只有最适合的A序列用B算法最快 而很可能C序列用B算法却最慢 我也同意先有需求再有算法。算法时间复杂度可以分为最优情况下,最差情况下,平均情况时间复杂度,不同算法这三个复杂度不同,如果数据偏向最优,那我就根据最优时间复杂度,如果数据往往是最差的,我就用最差时间复杂度来做比较标准。另外,根据定理:任意一个比较排序算法在最坏情况下,都需要做Ω(nlgn)次的比较。也就是普通排序,最差情况下时间复杂度不可能低于Ω(nlgn)。但是如果需求一变,我可以选择其他针对特殊数的排序算法,时间甚至可以做到线性,如计数排序法、基数排序法、桶排序法等。 比如给1-100之间100个自然数,最差最差在线性复杂度下可以完成排序;给100个数,最差时间复杂度是Ω(nlgn)如果你真想要知道排序算法,推荐看严蔚敏的《数据结构及算法》,还有《算法导论》。 原来有个帖子的http://topic.csdn.net/u/20080624/11/55e5a350-d260-4a35-a02a-71b4c1795a00.html 借用一下,存个URLhttp://pickup.mofile.com/8095989683778691 前段时间在 wiki 中看到一些很好玩的算法,比如 bogo 排序算法,这个算法的复杂度是 O(n*n!),这个算法根据 wiki 上的解释就是一堆乱序卡片抛起后落下,检查是否排好序的,如果没排好,再抛。哈哈 :-) 使用Array.sort() 方法最省事, 它应该用的是快速排序。封装好的可以直接用。 http://blog.csdn.net/blh/archive/2009/06/06/4248482.aspx我写的几个,不过是C的 divide and conquer 算法对于超大规模的数量排序有明显疗效 复杂度是NLOG2N 还是关于java泛型的问题:在静态方法中为什么不能引用类级别的类型参数? 请帮忙看看出问题的地方应该怎么改 关于hashtable的简单问题 关于扩充数组的问题 命令窗口运行 运行java.exe 时候出错了,错误如下: 谁有张孝祥的java视频教程啊能否给小弟发一个~~~~~~~ 如何写文件? 如果运行JAVA程序,出现错误,怎么根据错误号查出具体问题。 散分!给前10名不重复ID 关于Arraylist的用法 JNI问题求教!
没有最快的算法 只有最适合的A序列用B算法最快 而很可能C序列用B算法却最慢
算法时间复杂度可以分为最优情况下,最差情况下,平均情况时间复杂度,不同算法这三个复杂度不同,如果数据偏向最优,那我就根据最优时间复杂度,如果数据往往是最差的,我就用最差时间复杂度来做比较标准。另外,根据定理:任意一个比较排序算法在最坏情况下,都需要做Ω(nlgn)次的比较。也就是普通排序,最差情况下时间复杂度不可能低于Ω(nlgn)。但是如果需求一变,我可以选择其他针对特殊数的排序算法,时间甚至可以做到线性,如计数排序法、基数排序法、桶排序法等。
给100个数,最差时间复杂度是Ω(nlgn)如果你真想要知道排序算法,推荐看严蔚敏的《数据结构及算法》,还有《算法导论》。
http://topic.csdn.net/u/20080624/11/55e5a350-d260-4a35-a02a-71b4c1795a00.html
http://pickup.mofile.com/8095989683778691
我写的几个,不过是C的