数据结构中排序方法有多少种


数据结构中排序方法有多少种

文章插图
1、插入排序(直接插入排序和希尔排序)2、选择排序(直接选择排序和堆排序)3、交换排序(冒泡排序和快速排序)4、归并排序5、基数排序直接插入排序:逐个将后一个数加到前面的排好的序中 。在直接插入排序过程中 , 对其中一个记录的插入排序称为一次排序;直接插入排序是从第二个记录开始进行的 , 因此 , 长度为n的记录序列需要进行n-1次排序才能完成整个序列的排序 。时间复杂度为O(n2) 。希尔排序:希尔排序又称缩小增量排序 , 增量di可以有各种不同的取法 , 但最后一次排序时的增量必须为1 , 最简单可取di+1=di/2(取小) 。时间复杂度为O(n(log2n)2) 。直接选择排序说明:每次将后面的最小的找出来插入前面的已排好的序中 。同理 , 具有n个记录的序列要做n-1次排序 。时间复杂度为O(n2) 。冒泡排序:两个两个比较 , 将大的往后移 。通过第一次冒泡排序 , 使得待排序的n个记录中关键字最大的记录排到了序列的最后一个位置上 。然后对序列中前n-1个记录进行第二次冒泡排序 。。。对于n个记录的序列 , 共需进行n次冒泡排序 。时间复杂度为O(n2) 。快速排序:又叫分区交换排序 , 是对冒泡排序方法的一种改进 。时间复杂度为O(nlog2n) 。归并排序:将两个或两个以上的有序数据序列合并成一个有序数据序列的过程 。时间复杂度为O(nlog2n) 。
【数据结构中排序方法有多少种】

    推荐阅读