java简单排序

简单排序有三种:冒泡排序,选择排序,插入排序

 

比较,交换,复制的概念--交换是复制的三倍

 

冒泡排序思想:1.比较两个数据2.如果左边的比右边的大则交。3.然后向右移动一个位置,重复1,2步

冒泡效率:比较次数=n*(n-1)/2  平均交换次数=n*n/4

冒泡不变性:下标右面的数据已经全部排好序;

 

选择排序思想:扫描所有数据,找出最小者,让最小者和第一个位置的数据交换;然后从第二个位置向后搜索找最小者,让最小者和第二个位置互换,依次类推直到最后一个数据;

选择排序效率:比较次数=n*(n-1)/2    平均交换次数比冒泡稍小

选择排序的不变性:下标左面的是已经排好序的数据。

 

插入排序思想:从第2个数据开始与第一数据比较,若第2个小于第1个就交换,然后将第三个插入有序队列的适当位置,继续第4个,直到最后。

插入排序效率:最多比较次数=n*(n-1)/2   平均比较次数=n*(n-1)/4 

 

 

总结:在大多数情况下,数据量比较小或基本上有序时,插入排序是三种里面最好的选择,对于更大量的数据来说,快速排序通常是最快的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值