排序算法总结——时空复杂度,稳定性
排序的稳定性:只两个相同的值,在排完序后依然保持其排序前的先后顺序。
1.基于比较的排序的时空复杂度和稳定性:
此类排序着重分析其在交换的时候是否会破坏其排序的稳定性(一般来说存在大范围的交换的排序算法就会破坏其稳定性)
总结:
2.不基于比较的排序
对于计数排序和基数排序这两种排序,其时间复杂度都为O(N),
计数排序的空间复杂度取决于数据的范围,基数排序的空间复杂度为O(N)
两者都为稳定的排序
排序的稳定性:只两个相同的值,在排完序后依然保持其排序前的先后顺序。
1.基于比较的排序的时空复杂度和稳定性:
此类排序着重分析其在交换的时候是否会破坏其排序的稳定性(一般来说存在大范围的交换的排序算法就会破坏其稳定性)
总结:
2.不基于比较的排序
对于计数排序和基数排序这两种排序,其时间复杂度都为O(N),
计数排序的空间复杂度取决于数据的范围,基数排序的空间复杂度为O(N)
两者都为稳定的排序