java常用排序算法——冒泡排序,选择排序概述

前言:

开始接触算法了,记录下心得。打好基础,daydayup! 

算法 

算法是指解决某个实际问题的过程和方法

 排序算法

排序算法指给混乱数组排序的算法。常见的有:冒泡排序,选择排序

 冒泡排序:

冒泡排序指在数组中依次俩俩对比,将较大值/较小值放在数组的后面,最终实现排列

 实验1:将混乱的数组以从小到大的位置排序

原理:第一个位置和第二个位置对比,将较大值移至后位;随后将第二位和第三位对比,将较大值移至后位...最终数组将按从小到大的顺序排序

实现:首先思考如果需要完成排列,每个位置都能够对比到需要循环几次;其次思考每个数字需要对比几次,最后思考如何把数字交换位置

操作如下:

 选择排序

选择排序指选择当前位置,遍历之后的每一个位置使最大值/最小值与当前位置交换

 实验2:将混乱的数组以从小到大的位置排序

原理:首先以第一个位置为参照,将每个位置和第一个位置做对比,把较大值移至后位;随后以第二个位置为参照,将每个位置和第一个位置做对比,把较大值移至后位...最终数组将按从小到大的顺序排序

实现:可以理解为当前位置不动,每一个位置都要和当前位置作比较,思考每一个“当前位置”需要对比几回,随后思考每一个位置都对比完需要经过几轮

操作如下:

拓展:优化算法 

由于数字每一次交换会消耗性能,如何实现少交换?

记录索引位置即可,将当前位置设定成最小值的索引位置,随后把每一个位置的数据都和当前位置对比,最后替换最小值索引,最后把该索引的数字和当前位置的数字替换即可。

操作如下:

 

总结: 

算法是编程的灵魂。虽然条条大路通罗马,但是一个好的算法,能使运行更加快捷,要多练多思考。整理结束,撒花!!!

 

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值