算法设计与分析 一PRESETATION 仅做参考,请勿copy冲查重塔峰
排序算法性能分析
选择排序 冒泡排序 插入排序 合并排序 快速排序算法原理及代码实现
不同排序算法时间效率的经验分析方法
验证理论分析与经验分析的一致性
当面临巨大数据量的排序的时候,还是优先选择合并排序算法和快速排序算法。而选择排序算法、冒泡排序算法和插入排序算法不太适用于大数据排序。
现在有 1 亿的数据,请选择合适的排序算法与数据结构,在有限的时间内完成进行排序。
选择排序算法、冒泡排序算法和插入排序算法的时间复杂度为O(n2),写法简单,逻辑易懂,但算力性价比不高,不适用于数据量较大时使用。
合并排序算法和快速排序算法采用了采用分治法、递归的方法,将时间复杂度降为O(nlogn)。在本次实验中将数据量提到5万的时候,该类算法运行时间仍在几毫秒左右,而上面的3种算法运行时间已经到达十几秒左右,效率相差已经到达万倍。该类算法的运行时间随着数据的增加,运行时间渐近线性的增加。但注意理论上快速排序的空间复杂度较高为O(n),且最坏情况时时间复杂度也达到了O(n2)。所以快速算法也较为常用。