zoukankan      html  css  js  c++  java
  • 排序-归并排序

    归并排序

    基本知识

    稳定性:稳定
    存储方式:外部排序
    空间复杂度:O(n)
    最好时间复杂度:O(n logn)
    最坏时间复杂度:O(n logn)
    平均时间复杂度:O(n logn)

    基本思想

    • 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法
    • 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用

    排序步骤

    1. 申请空间,使其大小为带排序两个子序列的大小之和,该空间用来存放合并后的序列
    2. 设定两个指针,最初位置分别为两个已经排序序列的起始位置(递归)
    3. 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
    4. 重复步骤 3 直到某一指针达到序列尾
    5. 将另一序列剩下的所有元素直接复制到合并序列尾
    ![](https://img2018.cnblogs.com/blog/1467752/201912/1467752-20191228203249404-242712704.png)
  • 相关阅读:
    BBS
    BBS
    BBS
    BBS
    6.1
    Django
    Django
    tomcat——启动项目报错:java.lang.IllegalStateException
    Java——java.lang.NullPointerException
    Java——反射三种方式的效率对比
  • 原文地址:https://www.cnblogs.com/yanghanwen/p/12112999.html
Copyright © 2011-2022 走看看