美文网首页
Java排序算法分析与实现(7)------归并排序

Java排序算法分析与实现(7)------归并排序

作者: 咖啡少年不加糖whm | 来源:发表于2019-10-09 10:51 被阅读0次

一、原理

和选择排序一样,归并排序的性能不受输入数据的影响,性能比选择排序快,时间复杂度始终是O(n log n),代价是需要额外的内存空间

归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。归并排序是一个稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,在使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。

(1)把长度为n的输入序列分成两个长度为n/2的子序列
(2)对这两个子序列分别采用归并排序
(3)将两个排序好的子序列合并成一个最终的排序序列

最佳情况: T(n) = O(n)    最差情况:  T(n) = O(n * log n)    平均情况: T(n) = O(n * log n)

二、代码实现:

归并排序递归代码实现 归并排序迭代代码实现

相关文章

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

  • 2018-06-30

    排序算法之归并排序 归并排序算法是排序算法中的经典算法之一,其核心思想是利用归并的思想实现的排序方法,该算法采用经...

  • 排序算法之归并排序

    归并排序(Merge Sort) 归并排序是利用归并的思想实现排序的方式,该算法采用的是经典的分治算法 归并排序过...

  • 十大经典排序算法(java实现)

    前言 本文我们将以java代码实现十大经典排序算法,包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序...

  • 排序算法的实现

    用java对常用内部排序算法的实现。 对冒泡排序,简单选择排序,直接插入排序,希尔排序,归并排序的简单实现(缺少快...

  • Python实现程序员必备之排序算法汇总

    本文用Python实现了快速排序、插入排序、希尔排序、归并排序、堆排序、选择排序、冒泡排序共7种排序算法。 一、快...

  • 盘点常用Java排序算法

    本文主要介绍Java的七种常见排序算法的实现,对选择排序、插入排序、冒泡排序、归并排序、快速排序、希尔排序、最小堆...

  • 盘点常用Java排序算法

    本文主要介绍Java的七种常见排序算法的实现,对选择排序、插入排序、冒泡排序、归并排序、快速排序、希尔排序、最小堆...

  • 归并排序

    图解排序算法(四)之归并排序 基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用...

网友评论

      本文标题:Java排序算法分析与实现(7)------归并排序

      本文链接:https://www.haomeiwen.com/subject/lmqcuctx.html