数据结构之排序
作者:互联网
一、稳定排序
1、直接插入排序
2、冒泡排序
相邻元素比大小,保证每一次比较,最大值永远在最右边。
3、归并排序
二、不稳定排序
1、直接选择排序
2、希尔排序
3、堆排序
4、快速排序
(1)原理
在待排序的元素任取一个元素作为基准(通常选第一个元素,但最的选择方法是从待排序元素中随机选取一个作为基准),通过一趟排序将要排序的数据分割成独立的两部分,左部分全部小于等于基准元素,右部分全部大于等于基准元素,再按此方法递归对这两部分数据进行快速排序。
(2)时间复杂度
最好情况:每次划分选择的中间数恰好将当前序列等分,经过 log(n) 趟划分便可得到长度为 1 的子表,时间复杂度为 O(nlogn)
最坏情况:每次所选中间数是当前序列中的最大或最小元素,这使每次划分所得子表其中一个为空表 ,这样长度为 n 的数据表需要 n 趟划分,时间复杂度为 O(n²)。
标签:排序,复杂度,元素,划分,子表,数据结构,基准 来源: https://www.cnblogs.com/taoziTTW/p/15530644.html