摘要: .NET 4.5 这个版本的Array.Sort更改了STL的内观排序算法,那相对于快速排序内观排序到底有什么优化过的呢?根据维基百科所说,这个排序算法首先从快速排序开始,当递归深度超过一定深度(深度为排序元素数量的对数值)后转为堆排序。采用这个方法,Introsort既能在常规数据集上实现快速排序的高性能,又能在最坏情况下仍保持 O(N log N) 的时间复杂度。由于这两种算法都属于比较排序算法,所以Introsort也是一个比较排序算法。按我的理解可以说是快速排序+插入排序+堆排序的混合方式;优化过的快速排序:private static void IntroSort(T[] array 阅读全文
posted @ 2013-09-28 23:59 v.la 阅读(893) 评论(0) 推荐(0) 编辑