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)
  • 相关阅读:
    小希的迷宫
    不下降序列
    Stones on the Table
    glsl之纹理演示
    glsl之多重纹理演示
    6.12
    这狗日的生活
    小楼一夜听春雨,天下谁人不识君?
    lua 调用C/C++
    D3DFVF_XYZ和D3DFVF_XYZRHW的区别
  • 原文地址:https://www.cnblogs.com/yanghanwen/p/12112999.html
Copyright © 2011-2022 走看看