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代表关键字的个数

吃好喝好 快乐地活下去