排序算法稳定性
·
排序算法稳定性

排序算法稳定性:假设待排序序列中有两个元素相等,而且在排序前和排序后两个相等的元素的相对位置不变,即有 a = b,排序前a在b前面,那么排序后,a还是要在b前面。排序算法的稳定性是要看具体的算法实现,比如一般情况下,直接选择排序,快速排序,希尔排序,堆排序都不是稳定排序算法,基数排序,计数排序,归并排序,插入排序,冒泡排序都是稳定排序算法。
快速排序:A = {2, 2, 1},排序后A = {1,2,2}。
希尔排序:A = {1,2,5,4,4,7},排序后(k = 2);A = {1, 2, 4, 4, 5, 7} 。
堆排序:A = {2,2,1},排序后A = {1,2, 2}。
直接选择排序: A = {4, 4, 2, 5},排序后 A = {2,4, 4, 5}。
以上举例都不满足稳定性。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)