归并排序

我们知道归并排序时间复杂度是O(NlogN),空间复杂度O(N)。

对普通归并排序可优化点记录如下:

1.在递归到子数组比较小时,使用插入排序,减少递归栈深度
2.每次merge之前比较一下前半个数组的最大值a和后半个数组的最小值b,如果a<b,则不用merge
3.归并排序需要使用辅助数组,每次将原数组拷贝到辅助数组,再归并回原数组,比较浪费时间。可以优化为交替使用原数组和辅助数组,减少数据拷贝时间。

posted @ 2014-09-23 21:57  大鹏展翅seu  阅读(127)  评论(0)    收藏  举报