当前位置:   article > 正文

数据结构排序总结_数据结构数据量不是很大,数据排列乱用什么排序

数据结构数据量不是很大,数据排列乱用什么排序

一、排序实质:消除逆序

二、排序算法分类:

内部排序:整个排序过程完全在内存中进行,称为内部排序。

外部排序:由于待排序记录数据量太大,内存无法容纳全部数据,排序需要借助外部存储设备才能完成,称为外部排序。

稳定排序和不稳定排序:假设Ki=Kj(1≤i≤n,1≤j≤n,i≠j),若在排序前的序列中Ri领先于Rj(即i<j),经过排序后得到的序列中Ri仍领先于Rj,则称所用的排序方法是稳定的 ;反之,当相同关键字的领先关系在排序过程中发生变化者,则称所用的排序方法是不稳定的。

快速排序(QuickSort

快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。

(1)如果不多于1个数据,直接返回。

2)一般选择序列最左边的值作为支点数据。

3)将序列分成2部分,一部分都大于支点数据,另外一部分都于支点数据。 

归并排序(MergeSort 

归并排序先分解要排序的序列,从1分成2,2分成4,依次分解,解到只有1个一组的时候,就可以排序这些分组,然后依次合并回原来的序列中,这样就可以排序所有数据。合并排序比堆排序稍微快一

点,但是需要比堆排序多一倍的内存空间,因为它需要一个额外的数组 

堆排序(HeapSort

堆排序适合于数据量非常大的场合。堆排序会将所有的数据建成一个堆,最大的数据在堆顶,然后将堆顶数据和序列的最后一个数据交换。接下来再次重建堆,交换数据,依次下去,就可以排序所有的数据。

4 插入排序(InsertSort

插入排序通过把序列中的值插入一个已经排序好的序列中,直到该序列的结束。插入排序是对冒泡排序的改进。它比冒泡排序快2倍。一般不用在数据大于1000的场合下使用插入排序,或者重复排序超过

200数据项的序列。

5 冒泡排序(BubbleSort

冒泡排序是最慢的排序算法。在实际运用中它是效率最低的算法。它通过一趟又一趟地比较数组中的每一个元素,使较大的数据下沉,较小的数据上升。它是O(n^2)的算法。

交换排序(ExchangeSort)和选择排序(SelectSort

这两种排序方法都是交换方法的排序算法,效率都是O(n2)。在实际应用中处于和冒泡排序基本相同的地位。


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/784723
推荐阅读
相关标签
  

闽ICP备14008679号