Skip to content

复杂度

查找插入删除
数组O(n)O(1)O(n)
有序数组O(logn)O(n)O(n)
链表O(n)O(1)O(n)
有序链表O(n)O(n)O(n)
二叉树最坏O(n)O(n)O(n)
二叉树一般O(logn)O(logn)O(logn)
平衡树O(logn)O(logn)O(logn)
哈希表O(1)O(1)O(1)
类别排序方法时间复杂度空间复杂度稳定性
平均情况最好情况最坏情况辅助存储
插入排序直接插入O(n^2)O(n) O(n^2)O(1)稳定
Shell 排序 O(n^1.3)O( n) O(n^2) O(1)不稳定
选择排序直接选择O(n^2)O(n^2) O(n^2)O(1)不稳定
堆排序 O(nlog2n)O( nlog2n) O(nlog2n) O(1)不稳定
交换排序冒泡排序O(n^2)O(n) O(n^2)O(1)稳定
快速排序 O(nlog2n)O( nlog2n) O(n^2) O(nlog2n)不稳定
归并排序O(nlog2n)O(nlog2n) O(nlog2n)O(n)稳定
基数排序O(d(r+n))O(d(n+rd)) O(d(r+n))O(rd+n)稳定

提示

基数排序的复杂度中,r代表关键字的基数,d代表长度,n代表关键字的个数

吃好喝好 快乐地活下去