算法 | 空间复杂度 | 时间复杂度(平均/最坏) | 稳定性 |
---|---|---|---|
冒泡排序 | O(1) | O(n2)/O(n2) | 稳定 |
选择排序 | O(1) | O(n2)/O(n2) | 不稳定 |
插入排序 | O(1) | O(n2)/O(n2) | 稳定 |
希尔排序 | O(1) | O(nlogn)/O(ns) (s为步长) | 不稳定 |
快速排序 | O(logn) | O(n*logn)/O(n2) | 不稳定 |
归并排序 | O(n) | O(nlogn)/O(nlogn) | 稳定 |
堆排序 | O(1) | O(nlogn)/O(nlogn) | 不稳定 |
时间复杂度:是同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。
计算机科学中,算法的时间复杂度是一个函数,它