排序-归并排序

归并排序

基本知识

稳定性:稳定
存储方式:外部排序
空间复杂度: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)

posted on 2019-12-28 20:47  灰马非马  阅读(97)  评论(0编辑  收藏  举报

导航