目录
1,直接插入排序
2,折半插入排序
3,希尔排序
4,冒泡排序
5,快速排序
6,简单选择排序
7,堆排序
8,归并排序
各种排序方法的特性:
稳定性:若在待排序的一个序列中,Ri和Rj的关键码相同,即Ri=Rj,且在排序前Ri领先于Rj,那么当排序后,如果Ri和Rj的相对次序保持不变,Ri依然领先于Rj,则称此类排序算法是稳定的,否则就是不稳定的。
内部排序:指待排序记录全部存放在内存中进行排序的过程。
外部排序:指待排序记录的数量很大,以至内存不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。
1,直接插入排序:
是一种最简单的排序算法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。当有序表为空时,该记录插入在有序表第一位。
直接插入排序的时间复杂度O() ,空间复杂度O(1)。
2,折半插入排序:
折半插入排序是通过折半查找来实现的。
时间复杂度是O(),空间复杂度是O(1)。
3,希尔排序:
希尔排序实质上是采用分组插入的方法。
先将整个待排序记录序列分割成几组,从而减少参与直接插入排序的数据量,对每组分别进行直接插入排序,然后增加每组的数据量,重新分组。
这样当经过几次分组排序后,整个序列中的记录“基本有序”时,再对全体成员进行一次直接插入排序。
时间复杂度是O(),空间复杂度是O(1)。
4,冒泡排序:
是一种最简单的交换排序方法,它通过两两比较相邻记录的关键字,如果发生逆序,则进行交换,使得小的记录往左移,大的记录往右移。
时间复杂度是O(),空间复杂度是O(1)。
5,快速排序:
快速排序实质上就是每次从待排序记录序列中选出一个基准元素,把比基准元素小的放在基准元素的左边,比基准元素大的放在基准元素的右边。然后对基准元素左右的记录序列继续进行排序。
6,简单选择排序:
也称为直接选择排序。每一趟从第一个元素开始,进行比较,每一趟选出待排序记录序列中的最小值,放在已排序好的记录序列的最后面。
时间复杂度为O(),空间复杂度为O(1)。
7,堆排序:
大根堆:根结点的值 >=(大于等于)左右子节点的值。
小根堆:根结点的值 <=(小于等于)左右子节点的值。
知识点记住,具体运行过程有印象即可。
8,归并排序:
归并排序就是将两个或两个以上的有序表合并成一个有序表的过程。
将两个有序表合并成一个有序表的过程称为2—路归并,2—路归并最为简单和常用。
文章来源:https://www.toymoban.com/news/detail-463427.html
文章来源地址https://www.toymoban.com/news/detail-463427.html
到了这里,关于软考——常用排序算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!