排序算法简介
1.概念:将一组数据,按照指定的顺序进行排列的过程
2.分类:
内部排序:将需要处理的数据加载到内存中进行排序
外部排序:数据量过大,无法加载到内存中,需要借助外部存储
3.常见排序算法(都属于内部排序)
插入排序:直接插入排序,希尔排序
选择排序:简单选择排序,堆排序
交换排序:冒泡排序,快速排序
归并排序
基数排序
算法时间复杂度
1.概念:度量一个算法的执行时间
2.分类:
事后统计法:可能受到计算机硬件,软件等因素影响,必须要在同一个计算机的同一个状态下运行,才有意义
事前估算法:通过分析算法的时间复杂度来判断哪个算法更优秀
时间频度
1.概念:一个算法中语句执行的次数称为时间频度T(n)
2.
比如:2n+20与2n此时可以忽略常数项
比如:2n2+3n+10与2n2可以忽略3n+10的低次项
比如:5n2与3n2可以忽略5与3这两个系数
比如:5n3与n3,此时不能忽略系数5
时间复杂度举例说明
T(n)不同,但是时间复杂度可能相同,比如