常见排序算法及对应的时间复杂度和空间复杂度
[TOC] 1、插入排序 1.1直接插入排序(从后向前找到合适位置后插入) 1.2 二分法插入排序 1.3 希尔排序 2、选择排序 2.1 直接选择排序 2.2 堆排序 3、交换排序 3.1 冒泡排序 3.2快速排序 4、 归并排序 5、基数排序 排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:直接选择排序、堆排序。 (3)、交换排序:冒泡排序、快速排序。 (4)、归并排序 (5)、基数排序 表格: |排序方法|时间复杂度(平均) | 时间复杂度(最坏) | 时间复杂度(最好)| 空间复杂度| 稳定性| 复杂性 | | -------- | -------- | ------...