一、排序算法的基本介绍

排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程


二、排序的分类

QQ截图20200814095602.jpg


三、算法的时间复杂度

1、度量一个程序(算法)执行时间的两种方法

QQ截图20200814100034.jpgQQ截图20200814100039.jpg
一般使用事前估算的方式进行判断算法是否为最优

2、时间频度

① 基本介绍

QQ截图20200814101237.jpg

② 举例说明-基本案例

QQ截图20200814101331.jpg

针对于不同情况三个忽略

(1) 举例说明-忽略常数项

QQ截图20200814101436.jpg

(2) 举例说明-忽略低次项

QQ截图20200814101513.jpg

(3) 举例说明-忽略系数

QQ截图20200814101551.jpg

3、时间复杂度

QQ截图20200814103421.jpg

4、常见的时间复杂度(8种)

QQ截图20200814103452.jpgQQ截图20200814103534.jpg

示例图:
QQ截图20200814103553.jpg

各种复杂度实际演示

(1) 常数阶 O(1)

QQ截图20200814103645.jpg

(2) 对数阶 O(log2n)

QQ截图20200814103721.jpg

(3) 线性阶 O(n)

QQ截图20200814103727.jpg


(4) 线性对数阶 O(nlogN)

QQ截图20200814103732.jpgQQ截图20200814103740.jpg

(5) 平方阶 O(n²)

QQ截图20200814103746.jpg

(6) 立方阶O(n³)、K 次方阶 O(n^k)

QQ截图20200814103753.jpg

5、平均时间复杂度和最坏时间复杂度

介绍说明

QQ截图20200814104851.jpg

各大排序的平均复杂度以及最坏复杂度

QQ截图20200814104858.jpg


四、算法的空间复杂度简介

QQ截图20200814105014.jpg


整理者:长路 时间:2020/8/14