介绍了 JDK7 中引入的新的排序算法 TimSort,它来自 Python 中 list 的排序算法。将归并排序(merge sort) 与插入排序(insertion sort) 结合,并进行了一些优化。对于已经部分排序的数组,时间复杂度远低于 O(n log(n)),最好可达 O(n),对于随机排序的数组,时间复杂度为 O(nlog(n)),平均时间复杂度 O(nlog(n))。...
分类:
其他好文 时间:
2014-06-19 12:33:58
阅读次数:
575
List l = new List();l = l.Select(a => new { a, newID = Guid.NewGuid() }).OrderBy(b => b.newID).Select(c=>c.a).ToList(); List iList = new List(); ...
分类:
其他好文 时间:
2014-06-18 18:03:21
阅读次数:
181
四种基本算法概述:基本排序:选择,插入,冒泡,希尔。上述算法适用于小规模文件和特殊文件的排序,并不适合大规模随机排序的文件。前三种算法的执行时间与N2成正比,希尔算法的执行时间与N3/2(或更快)成正比;前三种算法在平均,最坏情况下都是N2,而且都不需要额外的内存;所以尽管他们的运行时间只相差常数倍...
分类:
其他好文 时间:
2014-06-03 10:01:38
阅读次数:
384
25.Collections类:
Collections类是一个工具类,用来对集合进行操作,它主要是提供一些排序算法,包括随机排序、反相排序等。
Collections类提供了一些静态方法,实现了基于List容器的一些常用算法。
Collections的一些方法列表:
· void sort(List): 对List内的元素进行排序。
· void shuffle(List):...
分类:
编程语言 时间:
2014-05-25 01:47:51
阅读次数:
319