常见排序算法时间复杂度
时间: 2023-10-29 13:42:57 浏览: 117
常见排序算法的时间复杂度如下:
1. 冒泡排序:最坏O(n^2),最好O(n),平均O(n^2)
2. 选择排序:最坏O(n^2),最好O(n^2),平均O(n^2)
3. 插入排序:最坏O(n^2),最好O(n),平均O(n^2)
4. 希尔排序:最坏O(n^2),最好O(nlogn),平均O(nlogn)
5. 归并排序:最坏O(nlogn),最好O(nlogn),平均O(nlogn)
6. 快速排序:最坏O(n^2),最好O(nlogn),平均O(nlogn)
7. 堆排序:最坏O(nlogn),最好O(nlogn),平均O(nlogn)
8. 计数排序:最坏O(n+k),最好O(n+k),平均O(n+k)
9. 桶排序:最坏O(n^2),最好O(n+k),平均O(n+k)
10. 基数排序:最坏O(d(n+k)),最好O(d(n+k)),平均O(d(n+k)),其中 d 代表数字位数,k 代表桶的个数
相关问题
常见算法的时间复杂度
常见算法的时间复杂度如下:
1. 常数时间复杂度:O(1)
即无论输入规模多大,算法的执行时间都保持不变。
2. 对数时间复杂度:O(log n)
例如二分查找算法,每次将问题规模缩小一半,时间复杂度为对数级别。
3. 线性时间复杂度:O(n)
例如线性搜索算法,需要遍历整个输入来寻找目标元素。
4. 线性对数时间复杂度:O(n log n)
例如快速排序、归并排序等基于分治思想的排序算法。
5. 平方时间复杂度:O(n^2)
例如冒泡排序、插入排序等简单的排序算法。
6. 立方时间复杂度:O(n^3)
例如矩阵乘法算法中的经典算法。
7. 指数时间复杂度:O(2^n)
例如解决旅行商问题的暴力穷举算法。
需要注意的是,以上只是常见算法的一部分,还有其他更复杂的算法和时间复杂度。此外,这些时间复杂度都是针对最坏情况下的复杂度,在最好情况下可能会有更低的复杂度。
阅读全文