上篇中介绍了选择、交换、插入排序,这篇我们说下剩下的两个归并排序和基数排序。
一、归并排序
首先把待排序区间中的每个元素看做一个有序表则有n个有序表,通过两两合并,生成n/2个长度为2的有序表。 然后再将这n/2个有序表进行两两合并,生成n/2/2个长度为4的有序表。
如此循环直到得到一个长度为n的有序表。
对57 68 59 52 72 28 96 33进行排序
[57 68][52 59][28 72][33 96]
[52 57 59 68][28 33 72 96]
[28 33 52 57 59 68 72 96]
二、基数排序
各类排序算法时间复杂度和空间复杂度对比:
原文:http://blog.csdn.net/mqplw/article/details/44622293