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

初看这两种算法,不知道有何不同。请各位指点一二。... 初看这两种算法,不知道有何不同。请各位指点一二。 展开
 我来答
今年的冬天没有下雪
高粉答主

2018-12-16 · 说的都是干货,快来关注
知道小有建树答主
回答量:323
采纳率:100%
帮助的人:10.7万
展开全部

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

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

而选择排序算法的改进在于:先并不急于调换位置,先从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]开始重复以上步骤。

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

扩展资料:

冒泡排序的基本思想是将数组中的每个相邻元素进行两两比较,按照小元素在前(或大元素在前)的原则确定是否进行交换。这样每一轮执行之后,最大(或最小)的元素就会被交换到了最后一位。  

同样的过程会依次进行,直到所有元素都被排列成预期的顺序为止。这个过程是不是很像是水中的起泡一个个冒起来的过程.

选择排序(select sort):每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

参考资料:百度百科-选择排序

赣南脐橙2
高粉答主

2019-12-22 · “三农”情结一个永恒的话题。
赣南脐橙2
采纳数:7511 获赞数:45972

向TA提问 私信TA
展开全部
区别在于:在交换的方式上
冒泡算法,每次比较如果发现较小的元素在后面,就交换两个相邻的元素。
而选择排序算法的改进在于:先并不急于调换位置,先从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]开始重复以上步骤。
虽然差不多,但是请注意:两者的比较方法是右差别的,一个事依次比下来,一个是俩俩比较。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一页凌风
2009-04-02 · TA获得超过1907个赞
知道小有建树答主
回答量:434
采纳率:25%
帮助的人:391万
展开全部
例如: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]开始重复以上步骤。
虽然差不多,但是请注意:两者的比较方法是右差别的,一个事依次比下来,一个是俩俩比较。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
长上天妖1D
高粉答主

2019-11-21 · 醉心答题,欢迎关注
知道答主
回答量:15.3万
采纳率:5%
帮助的人:7661万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BlueWanderer
2009-04-02 · TA获得超过9209个赞
知道大有可为答主
回答量:5673
采纳率:83%
帮助的人:2024万
展开全部
冒泡的逻辑是把元素向应有的位置移动
选择是寻找特定位置所对应的元素。

冒泡最坏的情况复杂度才是O(n^2) 选择平均复杂度就是O(n^2) 但是冒泡的最坏情况处理要比选择慢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式