分析10种算法的稳定性《算法很美》

分析10种算法的稳定性

  • 稳定:如果a原本在b前面,而a=b,排序之后

  • 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面。

在学习的时候,第一次接触稳定性,我们会认为算法的稳定性是算法的时间复杂度去决定的。

在这里插入图片描述
比如插入排序思路:主要记住是插入,那么它的意思是每一个元素向前面任何一个元素一一对比,如果有小于那个元素的就交换(插入)。所以当相同元素进行比较时,不会进行交换——稳定
**希尔排序:**是以增量为基准,然后分组进行排序的,如果两个相同元素不在同一组,就有可能原本a=b,且a在后面,b在前面,排序后a在前面,b在后面——不稳定
选择排序: 从前往后找,以第一个开始i=0,如果找到后面有大于下标i=0的值,则将大于的数的下标保存,遍历完后,找到最小值与之交换——不稳定
**快速排序:**找到一个基准,然后分别从左和右边进行比较,将小于基准数的全放左边,大于基准数的全放右边,遍历完一次过后,则将基准数与i==j的下标进行交换,然后递归继续。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值