面试题 / 其他

时间复杂度

记一些常见的时间复杂度

平均时间复杂度最好情况最坏情况
冒泡排序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 < logN < N < nlogN < n² < n³ < 2ⁿ < !n