排序算法专项总结

来源:互联网 发布:手机抢号软件 编辑:程序博客网 时间:2024/06/04 19:04

1、选择排序,是每一次从未排序序列中找出一个最大或者最小的数,放到已排好序的数列最后。因此关键字比较次数跟数列的初始排列顺序是没有关系的。

2、初始数据集排列顺序与比较次数无关的有:

口诀:一堆(堆排序)海归(归并排序)选(选择排序)基友

3、插入排序、堆排序、冒泡排序、快速排序的比较
插入排序是依次比较找到自己的位置,有序的数组比较次数少
堆排序在数据有序时能够降低维护堆的性质时的交换次数
标准冒泡排序的比较次数是固定的,但是改进的冒泡排序可以对于有序的数组减少比较次数
快速排序在有序时复杂度最高达到O(n2),完全无序时O(nlogn)

排序方法平均时间最好时间最坏时间桶排序(不稳定)O(n)O(n)O(n)基数排序(稳定)O(n)O(n)O(n)归并排序(稳定)O(nlogn)O(nlogn)O(nlogn)快速排序(不稳定)O(nlogn)O(nlogn)O(n^2)堆排序(不稳定)O(nlogn)O(nlogn)O(nlogn)希尔排序(不稳定)O(n^1.25)  冒泡排序(稳定)O(n^2)O(n)O(n^2)选择排序(不稳定)O(n^2)O(n^2)O(n^2)直接插入排序(稳定)O(n^2)O(n)O(n^2)



4、元素的移动次数与关键字的初始排列次序无关的是:基数排序

     元素的比较次数与初始序列无关是:选择排序

     算法的时间复杂度与初始序列无关的是:直接选择排序

5、




排序方法平均时间最好时间最坏时间桶排序(不稳定)O(n)O(n)O(n)基数排序(稳定)O(n)O(n)O(n)归并排序(稳定)O(nlogn)O(nlogn)O(nlogn)快速排序(不稳定)O(nlogn)O(nlogn)O(n^2)堆排序(不稳定)O(nlogn)O(nlogn)O(nlogn)希尔排序(不稳定)O(n^1.25)  冒泡排序(稳定)O(n^2)O(n)O(n^2)选择排序(不稳定)O(n^2)O(n^2)O(n^2)直接插入排序(稳定)O(n^2)O(n)O(n^2)
原创粉丝点击