常见的算法时间复杂度对比图

排序法 spa

  平均时间 排序

最差情形 ci

稳定度 it

额外空间 table

备注 im

冒泡 img

 O(n 2 ) tab

  O(n 2 ) di

  稳定 时间

O(1)

n 小时较好

交换

  O(n 2 )

  O(n 2 )

不稳定

O(1)

n 小时较好

选择

 O(n 2 )

 O(n 2 )

不稳定

O(1)

n 小时较好

插入

 O(n 2 )

 O(n 2 )

稳定

O(1)

大部分已排序时较好

基数

O(log R B)

O(log R B)

稳定

O(n)

B 是真数 (0-9) 

R 是基数 ( 个十百 )

Shell

O(nlogn)

O(n s ) 1<s<2

不稳定

O(1)

s 是所选分组

快速

O(nlogn)

O(n 2 )

不稳定

O(nlogn)

n 大时较好

归并

O(nlogn)

O(nlogn)

稳定

O(1)

n 大时较好

O(nlogn)

O(nlogn)

不稳定

O(1)

n 大时较好

相关文章
相关标签/搜索