排序算法的复杂度和稳定性

排序算法的复杂度和稳定性

复杂度又分为时间复杂度和空间复杂度
  • 时间复杂度 : 表示执行排序算法时消耗的时间
  • 空间复杂度 : 排序算法在运行过程中占用存储空间的大小
  • 稳定性 : 排序前后相同的元素 原来的位置是否改变, 如果改不了就是不稳定的如果不改变就是稳定的。
    接下来将对他们的复杂度和稳定性做解析:
          时间      空间      稳定性
选择:     0(n^2)    0(1)      不稳定
冒泡:     0(n^2)    0(1)      稳定
插入:     0(n^2)    0(1)      稳定
快速:     0(nlogn)  0(nlogn)  不稳定
二分:     0(logn)
  1. O(1)表示 表示最低复杂度 一般是常量值1 。复杂度不会受到数据量的大小改变而改变(哈希算法)。
  2. O(n):数据量增大n倍 复杂度耗时也增大n倍 (一重循环变量).
  3. O(logn) :当数据量增大到n倍时 n=256 logn是2 的底数
  4. O(n^2) :对n个数实现排序 需要对n*n进行查询(冒泡排序)
  5. O(nlogn) : 就是n 和logn相乘 当数据量增大256 耗时=256*8=2048(快速排序)
posted @ 2020-12-22 20:30  cpcnice  阅读(245)  评论(0)    收藏  举报