简述冒泡排序与选择排序的区别...

要求详细,且需要有举例说明,如果以代码说明的,以JAVA为准。感谢!

不需要代码说明
选择排序:每次都要遍历全部元素,选择其中最小的(或最大的)放到第一位
冒泡排序:比较相邻的两个数,大的(或者小的)放后面

由于冒泡是一边比较一边调整顺序,所以数列会越来越接近排序完成状态。
例子:
5 3 1 6 4 2
从小到大:
选择:
1 3 5 6 4 2

1 2 5 6 4 3
1 2 3 6 4 5
1 2 3 4 6 5
1 2 3 4 5 6
可以看出经常回把较小的数放后面了,前面的比较结果对后面没有任何帮助

冒泡:
3 5 1 6 4 2
3 1 5 6 4 2
3 1 5 6 4 2
3 1 5 4 6 2
3 1 5 4 2 6
以上为第一趟冒泡,看起来很长,实际上比较次数跟选择排序例子里面一行的赐教次数相同,都是n
第二趟:134256
第三趟:132456
第四趟:123456
合起来排了5趟
由于选择排序在每次比较中都让数列排序更为优化,也就是说有效利用了每一趟的比较的结果,所以多数情况下优于选择,但如果数字比较少的话用选择程序更易读,也不容易写错。追问

选择排序,每一轮,只是两个数的位置的互换吗?其它的位置不变?

追答

是的

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-23
排序算法网上太多了吧。

选择排序和冒泡排序的区别是什么?
选择排序与冒泡排序区别:1、冒泡排序是左右两个数相比较,而选择排序是用后面的数和每一轮的第一个数相比较;2、冒泡排序每轮交换的次数比较多,而选择排序每轮只交换一次;3、冒泡排序是通过数去找位置,选择排序是给定位置去找数;4、当一个数组遇到相同的数时,冒泡排序相对而言是稳定的,而选择...

选择排序和冒泡排序有什么区别
1、稳定性不同:冒泡排序是稳定的排序,而选择排序是不稳定的排序。2、交换成本不同:冒泡排序需要相邻元素比较,如果当前元素大于后一个元素进行交换,而选择排序只需换一次位置。3、顺序不同:冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值。4、优缺点不同:冒泡排序...

冒泡排序和选择排序区别
1、稳定性:冒泡排序是一种稳定的排序算法,而选择排序则不是。在冒泡排序中,相等的元素在排序后不会改变其相对位置,而在选择排序中,相等的元素可能会因为交换而改变其相对位置。2、交换次数:冒泡排序在每一轮比较中,只要相邻元素顺序不对就进行交换,而选择排序在每一轮比较中只进行一次交换,即找...

C语言中冒泡排序法和选择排序法有哪些不同
不同点:1.冒泡排序法:一趟一趟的将两个相邻的数进行交换如果有10个数则需要排9躺,如果是从大到小输出则需要每次将后一个数和前一个数进行比较将较大的数赋值给钱一个数,将较小的数赋值给后一个数,其实就是两个数交换,那么第一趟交换完毕后,最小的数便出现在了数组的最后面,然后进行第...

选择排序算法与冒泡排序算法有何异同啊?
区别在于:在交换的方式上 冒泡算法,每次比较如果发现较小的元素在后面,就交换两个相邻的元素。而选择排序算法的改进在于:先并不急于调换位置,先从A[1]开始逐个检查,看哪个数最小就记下该数所在的位置P,等一躺扫描完毕,再把A[P]和A[1]对调,这时A[1]到A[10]中最小的数据就换到了最...

冒泡法和选择排序法有什么不同?最好举下例子
冒泡排序和选择排序都是稳定的排序方法。不同的地方是处理的过程不一样。冒泡是相邻的两两比较,把小的交换上去,每一趟比较都会得到一个最小值。一个一个的就像是冒泡一样,比较形象。如果在一趟比较中,没有发现要交换的数值,则排序完成。选择排序是从待排序队列中选出最小的值,放到已排序队列的...

选择排序和冒泡排序的区别
选择排序和冒泡排序的区别如下:冒泡排序冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后,然后比较第2。个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此...

冒泡排序和选择排序的不同之处有哪些?
冒泡排序和选择排序的根本区别就是 1)选择选好了(最大或最小元),需要交换(最大或最小元和当前元素不在同一位置),才交换,是选择排序;2)比较完成,需要交换就交换(元素逆序,则交换)。是冒泡选择排序;举例 选择排序:升序 i 自小到大 i前面的是已经排好序的数据。选一个当前位置i 以后...

C语言中冒泡排序法和选择排序法有哪些不同
1、冒泡排序法:一趟一趟的将两个相邻的数进行交换如果有10个数则需要排9躺,如果是从 大到小输出则需要每次将后一个数和前一个数进行比较将较大的数赋值给钱一个数,将较小的数赋值给后一个数,其实就是两个数交换,那么第一趟交换完毕后,最 小的数便出现在了数组的最后面,然后进行第二趟...

冒泡排序、选择排序的区别是什么?
一、冒泡排序,代码和运行结果如图所示。重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。二、选择排序,代码和运行结果如图所示。思想:选择...

相似回答
大家正在搜