各种排序的使用场景总结
一、各种排序的时空复杂度
二、使用场景
1、当输入规模n比较小的时候,应该使用选择排序或者时插入排序(插入排序通常会比选择排序少一些比较的次数,但是选择排序会比插入排序少挪动的次数);
2、当输入的数据基本有序的时候,应该使用插入排序或者是随机的快速排序。
3、当n较大,要求速度较快的时候可以使用nlgn的算法比如:堆排序、快速排序和归并排序。堆排序的空间复杂度为lO(1)、而快速排序的空间复杂度是O(logn)(递归使用栈的情况),而归并排序的时间复杂度最大是O(n).