排序算法的稳定性

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

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

 

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

 

posted on 2013-01-15 17:46  zhuyf87  阅读(245)  评论(0编辑  收藏  举报

导航