分析一个排序算法的执行效率
- 最好情况、最坏情况、平均情况时间复杂度
排序算法在面对排序数组的原始情况时,会出现不同的复杂度。有的接近有序,有的完全无序,有序程度不同的数据,对于排序的执行时间肯定是有影响的。
- 时间复杂度的系数、常数、低阶
时间复杂度反应的是数据规模n很大的时候的一个增长趋势,所以它表示的时候会忽略系数、常数、低阶。但是实际的软件开发中,我们排序的可能是10个、100个、1000个这丫昂规模很小的数据,所以在对同一阶时间复杂度的排序算法性能对比的时候,我们就要把系数、常数、低阶也考虑进来。
- 比较次数和交换(或移动)次数
基于比较的排序算法的执行过程,会涉及两种操作,一种是元素比较大小,另一种是元素交换或移动。所以,我们在分析排序算法的执行效率的时候,应该把比较次数和交换(或移动)次数也考虑进去。