解释下归并排序
归并排序使用的是分冶法的思想,分冶法是把一个问题分解为子问题去求解,函数不停的调用自身解决子问题。
在这里,归并排序运行时调用自身,一共有三步,归并左半区间,归并右半区间,合并两个有序的数组。是递归的过程。
具体运行过程是,方法不停的进入函数堆栈,递进,直到归并四个元素的数组时。归并前两个元素,在这个方法中,两个继续递归的过程触发边界条件直接返回从而就合并两个元素为1的数组,使结果有序。此方法执行完出栈,回归到归并四元素的方法。同理,归并后两个元素。至此,归并四个元素这个方法的前两个递归执行完,左半,右半数组有序,再合并这两个数组,整体有序,出栈。如此递归,最后整个数组的左半右半区间有序,再合并,整体有序。