空间复杂度

冒泡排序

  • 缺点:每一次交换,逆序数只能减一或者不变。
  • 稳定
  • 对于n个元素,相邻元素均要比较,共有(n-1)次。经过一回合冒泡过程后,最大元素沉淀到最右位置。第二回合, 只剩下(n-1)个元素,只需要比较(n-2)次。依次类推,其他比较次数为(n-3),…,2,1. 所以总共比较次数为n(n-1)/2,而且是固定为这个数目.
  • 改进之前,不管好差都是O(n^2)
  • 改进之后:好:O(N) 差O(N^2)

选择排序

  • 不稳定
  • 比较次数总共为(n-1)+(n-2)+…+1=n(n-1)/2,且固定不变 好差都是O(n^2)

插入排序

  • 稳定的

直接插入排序

二分插入排序

  • 仅仅是减少了比较次数,更快找到插入位置。

while (low <= high)   
   {   
    mid = (low + high) / 2;   
    if (x[mid] <= temp)   
    {   
     low = mid + 1;   
    }   
    else  
    {   
     high = mid - 1;   
    }

归并排序

  • 稳定

排序总结(待完成)

相关文章:

  • 2021-10-31
  • 2021-10-30
  • 2022-12-23
  • 2021-05-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-10-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案