最常用排序方法选取总结
作者:互联网
数据量很大时
一、内存可以放得下
不要求稳定:
数据量n很大 | 时间复杂度 | 空间复杂度 | |
---|---|---|---|
数据范围k非常大(和n一个级别) | 快速排序 | O(nlogn) | O(1) |
数据范围k不是很大 | 桶排序 | O(n+k) | O(n+k) |
要求稳定排序:
数据量n很大 | 时间复杂度 | 空间复杂度 | |
---|---|---|---|
数据范围k非常大 | 归并排序 | O(nlogn) | O(n) |
数据范围k不是很大 | 桶排序 | O(n+k) | O(n+k) |
二、内存放不下
数据量n很大 | 时间复杂度 | 空间复杂度 |
---|---|---|
桶排序 | O(n+k) | O(n+k) |
数据量小就用插入排序![稳定;时间复杂度:O( n 2 n^2 n2);空间复杂度:O(1)]
java.util.Arrays中的排序方法都用了TimSort()方法【归并排序和插入排序相结合!】
标签:总结,nlogn,复杂度,选取,插入排序,数据量,排序,很大 来源: https://blog.csdn.net/weixin_47251999/article/details/113043157