排序算法很早就开始接触,但全部记住并瞬间写出来也是有点困难。排序算法更多的是给我们提供了一种思路。常见的有:归并排序、快速排序、堆排序,以及较为简单的冒泡排序、选择排序、插入排序、希尔排序等。近日回味,发现中国IT实验室的一个教程较为详细明了,现转载如下。但是其中的归并排序代码的合并部分有个小问题,读者自行发现。
排序算法的复杂度及思想:
补:二路归并排序的时间复杂度为O(nlogn),把待排序序列分成相同大小的两个部分,依次对这两部分进行归并排序,完毕之后再按照顺序进行合并。
各排序算法的详细介绍及代码实习见:http://c.chinaitlab.com/special/cpxsf/index.html