- 基本概念
试想一个操作,将一个数组(默认为无序)切割成两段,然后分别进行排序,然后将结果结合在进行排序归并。在数据结构之中这是一种简单的递归归并排序算法,是应用高效算法设计中分治思想的典型例子。
归并排序的基本逻辑是,要对数组[min,max]进行排序,先把他分成[min,mid]和[mid + 1, max]两个数组,分别进行排序最后归并起来。
- 代码实现
接下来我将用java语言完成代码的描述。
public class MergeSort {
private static int[] temp;//初始化一个归并所需的辅助数组
public static void mergeSort(int[] arr) {
temp =