黑马程序员技术交流社区

标题: 冒泡排序和选择排序到底有什么区别,半天摸不着头脑呢 [打印本页]

作者: huijiadanipp    时间: 2016-2-2 13:21
标题: 冒泡排序和选择排序到底有什么区别,半天摸不着头脑呢
为什么叫做冒泡排序和选择排序、??是把最小的数冒出来??两者有差别么?
作者: 847374032    时间: 2016-2-2 21:11
冒泡的逻辑是把元素向应有的位置移动
选择是寻找特定位置所对应的元素。

冒泡最坏的情况复杂度才是O(n^2) 选择平均复杂度就是O(n^2) 但是冒泡的最坏情况处理要比选择慢。
作者: 梦想家z    时间: 2016-2-2 23:46
冒泡和选择的本质是一样的,都是在一轮一轮的找最值
简单的说,区别就在于交换两个成员值得次数,冒泡只要找到合适的元素就会交换值,但是选择只有在一轮比较中找到最值,才会记下角标,与之交换

作者: ios_Beginner    时间: 2016-2-4 18:34
简单点说,冒泡排序两两比较,比一次就互换位置一次。
而选择排序则是找到每一轮循环后的最值,放入到相应的位置。
希望能帮到你
作者: huijiadanipp    时间: 2016-2-4 22:24
ios_Beginner 发表于 2016-2-4 18:34
简单点说,冒泡排序两两比较,比一次就互换位置一次。
而选择排序则是找到每一轮循环后的最值,放入到相应 ...

简单易懂,了解了!多谢
作者: huijiadanipp    时间: 2016-2-4 22:25
847374032 发表于 2016-2-2 21:11
冒泡的逻辑是把元素向应有的位置移动
选择是寻找特定位置所对应的元素。

第三句话就有点懵了。。。。你是计算机专业的么??、、
作者: u37kl    时间: 2016-2-7 14:10
地方“冒泡”好像水中的气泡一样,大气泡上浮的快,小气泡上浮的慢,但是所有气泡都在动态的上浮,选择排序:找到序列中最大或最小的数放在相应的位置。
作者: 一步一脚印=-=    时间: 2016-2-10 09:51
简单来说,冒泡有俩种,一种大数下沉,一种小数上浮,不管是哪种,每次都是比较相邻俩个元素的大小.
而选择排序,是拿数组的第一个数,跟后面的数比较,把最小值放第一位,然后拿第二个数跟后面的数比较......
作者: LINGlemon    时间: 2016-2-12 16:31
上面的补充和说明都差不多的了,虽然两者本质不一样,可是平均的时间复杂度和最坏的时间复杂度都是一样,是O(n^2)
作者: 曦正    时间: 2016-2-16 08:38
最简单的来说,选择是位置选择元素,冒泡是元素选择位置




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2