排序算法的稳定性

本文深入探讨了排序算法稳定性的重要概念,通过实例说明如何判断排序算法是否稳定,并引用了《大话数据结构》作为参考资源。文章使用了一个具体场景来解释排序过程中关键字的相对位置变化,强调了稳定排序算法在保持原有顺序方面的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设(关键字key)ki = kj(1≤i≤n, 1≤j≤n, i≠j),且在排序前的序列中(记录record)ri领先于rj(即i<j)。如果排序后ri仍领先于rj,则称所用的排序方法是稳定的;反之,若可能使得排序后的序列中rj领先ri,则称所用的排序方法是不稳定的。

如下图,经过对总分的降序排序后,总分高的排在前列。此时对于令狐冲和张无忌而言,未排序时是令狐冲在前,那么它们总分排序后,分数相等的令狐冲依然应该在前,这样才算是稳定的排序,如果他们二者颠倒了,则此排序是不稳定的了。只要有一组关键字实例发生类似情况,就可认为此排序方法是不稳定的。排序算法是否稳定的,要通过分析后才能得出。

 

【学习资料】 《大话数据结构》

 

转载于:https://www.cnblogs.com/zhuyf87/archive/2013/01/15/2861625.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值