1. 时间复杂度
记一些常见的时间复杂度
名 | 平均时间复杂度 | 最好情况 | 最坏情况 |
---|---|---|---|
冒泡排序 | O(n²) | O(n) | O(n²) |
选择排序 | O(n²) | O(n²) | O(n²) |
插入排序 | O(n²) | O(n) | O(n²) |
希尔排序 | O(nlogn) | O(nlog²n) | O(nlog²n) |
归并排序 | O(nlogn) | O(nlogn) | O(nlogn) |
快速排序 | O(nlogn) | O(nlogn) | O(n²) |
堆排序 | O(nlogn) | O(nlogn) | O(nlogn) |
计数排序 | O(n+k) | O(n+k) | O(n+k) |
桶排序 | O(n+k) | O(n+k) | O(n²) |
基数排序 | O(n*k) | O(n*k) | O(n*k) |
二分法 | O(logn) | O(1) | O(logn) |
1.1. 大小比较
1 < logN < N < nlogN < n² < n³ < 2ⁿ < !n