快速排序、合并排序、基数排序时间复杂度

来源:互联网 发布:适合孕妇的软件 编辑:程序博客网 时间:2024/06/04 23:34

快速排序

稳定:否
时间复杂度
最优:O(nlog(n))
最差:O(n^2)
平均:O(nlog(n))

合并排序

合并排序是一种分治算法。这个算法不断地将一个数组分为两部分,分别对左子数组和右子数组排序,然后将两个数组合并为新的有序数组。
稳定:是
时间复杂度:
最优:O(nlog(n))
最差:O(nlog(n))
平均:O(nlog(n))

桶排序

桶排序是一种将元素分到一定数量的桶中的排序算法。每个桶内部采用其他算法排序,或递归调用桶排序。
时间复杂度
最优:Ω(n + k)
最差: O(n^2)
平均:Θ(n + k)

基数排序

基数排序类似于桶排序,将元素分发到一定数目的桶中。不同的是,基数排序在分割元素之后没有让每个桶单独进行排序,而是直接做了合并操作。
时间复杂度
最优:Ω(nk)
最差: O(nk)
平均:Θ(nk)

附一张查的图表:
排序算法时间复杂度

0 0
原创粉丝点击