我必须实现快速排序,但最坏情况是O(n log n)。我可以实现文献中发现的任何东西,但到目前为止我能找到的就是这个叫BSort的东西对我来说没有多大意义。有谁知道对易于实现的算法的任何引用?或者关于这个主题的论文?
是的,这是为了上课,但这部分我可以得到帮助,我只需要自己实施。
谢谢
答案 0 :(得分:0)
这就是我发现的。我从来没有尝试过实现它或者看看alghoritm,但它说它有最坏的情况O(n log n)。它是quicksort和heapsort的组合
http://en.wikipedia.org/wiki/Introsort
我相信在O(nlogn)最坏的情况下,没有一个alghoritms(快速排序的升级)都有简单的解决方案。
答案 1 :(得分:0)
我的问题不是很清楚。
如果你实现Quicksort(例如定义为here),它的最坏情况运行时间为O(n ** 2)。如果你正在实施“纯粹的”Quicksort,你无法避免这种情况。
您是否想要一个具有O(n * log(n))最差情况的不同排序算法,或者您想要对Quicksort进行优化?
无论哪种方式,我给你的链接都会给你一些算法的想法。
我从未听说过BSort,你能给出一个链接吗?
答案 2 :(得分:0)