其他分享
首页 > 其他分享> > 数据结构之排序

数据结构之排序

作者:互联网

一、稳定排序

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