#思路
首先让数组中的每一个数,视为长度为1的有序区间,
然后把相邻的长度为1的有序区间进行合并,得到最大长度为2的有序区间,
接下来把相邻的长度为2的有序区间进行合并,得到最大长度为4的有序区间,
然后是对相邻的长度为4的有序区间进行合并,依次进行,
直到数组中的所有的数合并成一个统一的区间,排序结束。
归并排序的重点是对两个有序数组进行合并的过程,然后在这个基础上进行递归和分治。
指标
时间复杂度 O(n*logn)
空间复杂度O(n)
#代码
1 | public class MergeSort { |