选择排序算法与冒泡排序算法有何异同啊?

来源:百度知道 编辑:UC知道 时间:2024/07/07 09:31:31
初看这两种算法,不知道有何不同。请各位指点一二。

区别在于:在交换的方式上

冒泡算法,每次比较如果发现较小的元素在后面,就交换两个相邻的元素。

而选择排序算法的改进在于:先并不急于调换位置,先从A[1]开始逐个检查,看哪个数最小就记下该数所在的位置P,等一躺扫描完毕,再把A[P]和A[1]对调,这时A[1]到A[10]中最小的数据就换到了最前面的位置。

所以,选择排序每扫描一遍数组,只需要一次真正的交换,而冒泡可能需要很多次。比较的次数一样的。

例如:1 2 3 4我们分别用a[0],a[1],a[2],a[3]存储。假设从大到小排序

选择排序,是a[0]和a[1],a[2],a[3]依次比较,遇到小的就交换,这样一次下来,最大的被保存在了a[0].下次排序就从a[1]开始重复以上步骤。

冒泡排序,是a[0]和a[1]比较,小的就交换。然后a[1]和a[2]比较,小的交换。然后a[2]和a[3]比较小的就交换。这样一次下来,最大的被保存在a[0]。下次排序从a[1]开始重复以上步骤。

虽然差不多,但是请注意:两者的比较方法是右差别的,一个事依次比下来,一个是俩俩比较。

求选择排序算法(不要程序也不要冒泡法) 用JAVA写出冒泡排序的算法 一个完整的数据结构冒泡排序算法 数据结构 折中查找算法/选择排序 起泡排序算法 讨论排序算法的稳定性有何意义? 结构体排序算法 asp排序算法 什么是起泡排序算法?? 内部排序算法比较 O(n) 排序算法