什么是稳定性?
简单来说如果一个排序算法是稳定的,对于相同的属性值,排序后还是保持原来的顺序。
比如说我有甲、乙、丙、丁四个商品,价格分别为 500,200,200,100 ,销量分别为 1,3,5,5 。
现在按照商品价格从低到高进行排序,如果采用的是「稳定的排序算法」,那么商品顺序为丁、乙、丙、甲。如果采用的是「不稳定的排序算法」,那么商品顺序就可能为丁、丙、乙、甲。
排序算法的稳定性有什么意义?
此时,你可能还看不出排序算法的意义。
但是如果我们先按照商品价格进行排序,再按照商品销量进行排序。那么「稳定的排序算法」能保证你按照商品销量高到低进行排序后,还是「价格低」的商品在前面,即顺序为丁、丙、乙、甲。
这样的好处就是,你筛选出来的商品是比较符合你的筛选意愿的。