很多人对算法稳定性有误解

文章目录

算法稳定性

很多文章是这样描述算法稳定性的:

“对于待排序的序列中有两个元素相等,若排序后他们的先后顺序不变,则称这个排序算法是稳定的,否则称这个算法是不稳定的。”

个人理解这个说法是有偏差的,对很多人理解算法稳定性指示了错误的方向。准确地说,

“算法的稳定性应该是指这个算法在完成后我们是否能够预计到算法的结果。”

比如说在冒泡算法中,设置条件为小于等于的时候继续冒泡,这时候是会破坏序列中原有的顺序的,若是序列中的两个元素相等也是会交换其位置的。但是我觉得这并不能说这个算法就是不稳定的,因为你是可以预算到这个算法的结果,是一定会交换两个相等元素的位置的。
但是对于希尔排序,在排序的过程中,你是不能够判断是否一定会交换两个相等元素的位置。
所以算法称为稳定的应该是指你是能够预估到这个算法的结果,相反这个算法的结果是不可测的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值