排序也称排序算法(SortAlgorithm),是将一组数据,按照指定的顺序进行排序的过程。
排序的分类:
1)内部排序:
指将需要处理的所有数据都加载到内部存储器(内存)
2)外部排序:
数据量过大,无法全部加载到内存中,需要借助外部存储(文件)进行排序。
3)常见的排序算法分类如下
算法的时间复杂度
1)事后统计的方法
这种方式,要在同一台计算机的相同状态下运行,才能比较哪个算法速度更快。
2)事前估算的方法
通过分析某个算法的时间复杂度来判断哪个算法更优。
时间频度:
一个算法花费的时间与算法中语句的执行次数成正比例,一个算法中的语句执行次数称为语句频度或时间频度,记为T(n),时间复杂度,记为O(n)。
2)对数阶
3)线性阶
4)线性对数阶
5)平方阶
算法平均时间复杂度和最坏时间复杂度
算法的空间复杂度