归并排序和分治算法

一、概述

之前介绍过五种经典的排序算法,在该文中引出了一种效率很高的归并排序,其复杂度为O(N*logN)。今天就来分享一下这种排序算法的实现,以及其用到的算法思维分治算法


二、归并排序的实现

归并排序的基本实现逻辑就是:将一堆大量的无序数据分成两份,然后再对分成两份的数据再次进行拆分,一直拆到不能再拆分为止(拆分的最小单元为一份数据仅有两个元素),然后对每组数据进行排序,排好序之后再一层层往上合并,最终将这堆无序的数据变成有序状态。归并排序很容易描述,总结起来就是将数据分成两份,让它们各自进行归并,最终得到结果,以下便是归并排序的代码

 public static >
    void mergeSort( AnyType [ ] a )
    {
        AnyType [ ] tmpArray = (AnyType[]) new Co

你可能感兴趣的:(算法基础,算法,java)