永发信息网

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

答案:2  悬赏:0  手机版
解决时间 2021-02-23 15:26
要求详细,且需要有举例说明,如果以代码说明的,以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~n 中最大的那个放到n这个位置 冒泡法每次比较和移动相邻的两项 而选择排序每次交换当前项和第n项 我把代码写出来你就懂了: 冒泡: for i:=1 to n-1 do if (a[i]>a[i+1]) then swap(i,i+1); 选择: for i:=1 to n-1 do if (a[i]>a[n]) then swap(i,n); (swap 表示交换) 总的来说,两种排序比较的次数是相同的 但交换的次数,选择排序是更少的 虽然两者的时间复杂度都是 o(n^2) 但通常,选择排序更快一点
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小说中有小时代4吗
上古情歌最新资源共享
牛蒡茶是多少钱一斤
为什么网线水晶头接口处的灯有一个不停闪,一
atp中a是什么结构。由什么构成
小天鹅双缸洗衣机xpb52-99s市场价多少
国家十二五规划纲要提出,以节能减排为重点,
我同学看了一本小说,说一男一女干了三天三夜
属龙的起什么名字好
疯狂外星人哪个情节最有意思
一个人很喜欢《安和桥》这首歌,为什么?
三百五十千伏变压器的电损是多少
48.1÷13 12÷4.8 2.4 ÷0.64 0.63÷0.6 用竖
一岁5个月宝宝消化不良拉肚子怎么办
一个直角三角形知道底是12米和高6米,怎样计
推荐资讯
风琴帘隔音效果 和 普通的隔音窗帘 那个好?
在标准状况下氢气和氯气的混合气体aL,经光照
银行结算账户管理应遵循的基本原则有()。A.
已知从公园带电影院实际路程是1200米,请你根
北京美天医疗美容 靠谱吗
瑞安市玉海街道办事处地址在哪,我要去那里办
我买的新车不到一千公里。车子怠速声音很小。
我在无线mac过滤设置了黑名单,如果把电脑关
财神像能送人吗
8-apr-10 是几年几月几号?
手机体验店怎么去啊,有知道地址的么
【洛神赋作者】《洛神赋图》的作者是()朝人。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?