排序算法之稳定性

之前有一个误区 以为稳定性指的是同样的输入 时间是否是稳定的。但是这样是错误的,实际上应该是:
如果具有相等键的两个对象在排序输出中出现的顺序与它们在要排序的输入数组中出现的顺序相同

可以做到稳定排序的算法:
归并排序,冒泡排序,直接插入排序,折半插入排序

不可以的:
快速排序(因为partition不稳定)
堆排序(交换的过程不在乎相等的值)
希尔排序
直接选择排序

为什么要追求稳定性呢?
比如有年龄 姓名 身高 的信息

17 小明 170
17 小王 175
19 小李 174
这样我先排序身高后再排序年龄 还是会保持身高的顺位信息
在值相等的情况下相对次序保持原来的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值