为什么快速排序比冒泡排序好
终极管理员 知识笔记 74阅读
什么是冒泡排序?
答:我们从冒泡排序开始,学习今天的三种排序算法。 冒泡排序只会操作相邻的两个数据。 每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。 如果不满足就让它俩互换。 一次冒泡会让至少一个元素移动到它应该在的位置,重复n次,就完成了n个数据的排序工作。
冒泡排序的最佳时间复杂度是多少?
答:所以,冒泡排序最好的 时间复杂度 为 O (n) 若初始文件是反序的,需要进行n-1趟排序。. 每趟排序要进行 n-i 次关键字的比较 (1≤i≤n-1),且每次比较都必须移动记录三次来达到交换记录位置。. 在这种情况下,比较和移动次数均达到最大值:. 冒泡排序的最坏时间复杂度为. 综上,因此冒泡排序总的平均时间复杂度为.
排序算法有哪些?
答:排序算法太多了,有很多可能你连名字都没听说过,比如猴子排序,睡眠排序,面条排序等。 我只讲众多排序算法中的一小撮,也是最经典的,最常用的: 冒泡排序 ,插入排序,选择排序,归并排序,快速排序,计数排序,基数排序,捅排序。
选择排序和插入排序有什么区别?
答:比如5,8,5,2,9这样一组数据,使用选择排序算法来排序的话,第一次找到最小元素2,与第一个5交换位置,那第一个5和中间的5顺序就变了,所以就不稳定了。 正是如此,相对于冒泡排序和插入排序,选择排序就稍微逊色了。