排序算法的介绍
排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。
排序的分类:
1) 内部排序:
指将需要处理的所有数据都加载到内部存储器中进行排序。
2) 外部排序法:
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。
3) 常见的排序算法分类:
时间复杂度(忽略常数项、低次项、系数)
常见的时间复杂度
1)常数阶O(1)
2)对数阶O(log2n)
3)线性阶O(n)
4)线性对数阶O(nlog2n)
5)平方阶O(n^2)
6)立方阶O(n^3)
7)k次方阶O(n^k)
8)指数阶O(2^n)
说明:
•常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)< Ο(nk) <Ο(2n) ,随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低
•从图中可见,我们应该尽可能避免使用指数阶的算法
平均时间复杂度和最坏时间复杂度