算法基础(三)——排序

    我们先来看看几种排序的结构图:

                               

    排序是否稳定

        比如:

        排序前:2 5 7  6  4  2 9 3

        排序后:2 2 3 4   5 6  7  9

        排序前蓝2在红2前面,排序后蓝2依然在红2前面,则所用的排序方法是稳定的。

        如果排序后,红2有可能在蓝2前面,那么所用的排序方法是不稳定的

 

    下面说说前面几种排序的时间复杂度,不懂的话可以这么来想:

    简直冒 快归队希尔 

        简:简单选择(直接选择)

        直:直接插入

        冒:冒泡

        快:快速

        归:归并

        队:堆

 

    再来看看这张表:

           

    整理:


稳定性

排序方法

 

时间复杂度

 

空间复杂度

 

 

最好

平均

最坏

辅助空间

n2

n2

n2

1

n

n2

n2

1

n

n2

n2

1

 

 

 

 

 

 

nlog2n

nlog2n

n2

nlog2n

nlog2n

nlog2n

nlog2n

n

nlog2n

nlog2n

nlog2n

1

希尔

n

n1.3

n2

1

基数

 

 

 

 

 

    平均一样的放在一起,这样看起来也方便了很多。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页