数据结构-排序

来源:互联网 发布:汉语网络在线老师招聘 编辑:程序博客网 时间:2024/05/22 02:00

排序:也就是对任意的数据元素序列使用某个排序方法。

衡量排序的效果有:稳定性,时间复杂度,空间复杂度(有就是所需的额外空间)

两种分类:内部排序:冒泡、选择、插入、合并、快速、堆积、希尔、基数

    外部排序:直接合并、k路合并、多相合并

冒泡排序:

分析:时间复杂度O(n^2),稳定,空间复杂度为1.

适用:数据小或部分数据已排序

代码:

for(i=n-1;i>0;i--)//扫描n次

{      for(   j=0    ;   j<i     ;     j++)        //比较交换次数

{      if(data[j+1 >  data[j]    )

{//执行交换}

        }

}

选择排序:

分析:与冒泡的分析想类似,但是不稳定

代码:

for   (  i=0   ;    i <n   ;    i++   )   //扫描n-1次

{     for(  j = i+1 ; j >n+1 ; j++  )      //从i+1的位置开始比较起,比较n-i次

       if  ( data[i]   <  data[j] )

{//执行交换}

}

0 0
原创粉丝点击