java算法
本专栏中介绍java中常用算法的介绍和使用,基本开始,以后逐渐深入!
lss_love
超级喜欢各种动漫!
酷爱java!
学不下去就会跑去看大佬博客,然后被虐,然后再去学习!
展开
-
java实现插入排序,保姆级教程,一看即会!
tips:debug自己跑一下,看一下内部实现原理,可以更好的理解!插入排序数组在排序中的结构,当前比较值之前为已经比较过的数组,他们是按顺序排好的数组,后面为还未进行比较的值,他们为乱序原理:拿上图的当前比较值为例,在比较开始,会先记录当前比较值的值4,然后循环和前面的排好序的数组进行比较,如果大于当前值(即21>4)的时候,就会将21这个位置的值进行后移,依次类推,直到条件不满足,即(3>4不成立),这时会停止继续循环,把当前值(4)插入到3的后面,此时当前值比较结束,当前数组仍然分原创 2021-03-31 10:19:53 · 168 阅读 · 0 评论 -
java实现选择排序,保姆级教程,一看即会!
选择排序原理:每次取剩余数组中第一个数当为最大(小)值,然后一次与后面的值进行比较,如果有比当前值大(小)的值,就记录下标,循环完之后就可以找到当前数组中最大(小)值的下标,然后在把当前下标与当前数组遍历开始地方的值进行交换,排除当前值,剩下的依次进行比较,交换值即可!代码实现package com.lian.convert;import com.alibaba.fastjson.JSON;/** * @author :LSS * @description: 选择排序 * @date :原创 2021-03-30 14:41:47 · 109 阅读 · 0 评论 -
java实现冒泡排序,保姆级教程,一看即会!
tips:相关代码注释已经在代码中进行标注,精确到行的解释!冒泡排序原理:相邻两个数进行比较,符合条件的就进行后移,这样每一次就会把最小的放在最后,下一次再循环的时候把最后一个去掉,不参与比较,因为他在前一轮的比较中已经是最小的了。代码实现package com.lian.convert;import com.alibaba.fastjson.JSON;/** * @author :LSS * @description:冒泡排序 * @date :2021/3/30 10:54 */原创 2021-03-30 11:16:20 · 116 阅读 · 0 评论 -
java实现快速排序,保姆级教程,一看即会!
tips:debug自己跑一下,看一下内部实现原理,可以更好的理解!快速排序原理:在数组中选择一个基准值,然后定义两个索引,这里选择第一个元素和最后一个元素下标,循环比较开始之前,定义一个变量记录当前基准值的值,然后从最后一个元素开始比较,将大于基准值的元素放到基准值的右边,小于基准值的元素放到基准值的左边,当两个索引值相等的时候,遍历结束,将先前变量记录的值赋值给当前索引,左半边和右半边循环执行上次操作,直到每一个区间只有一个值的时候,结束,此时,数组已经排好序了!如下图所示:代码实现pack原创 2021-04-01 10:21:16 · 155 阅读 · 0 评论 -
java实现二分查找,保姆级解释,一看即会
学习目标:java实现二分查找学习时间:2021.3.29 16:19:31学习产出:前提:数组是有序数组,升序或者降序均可;二分查找的原理:原理:将数组分为两份,首先取出中间值,判断查找值是否等于中间值,如果等于,则直接返回,否则将数组以中间值为分割线进行分割,再判断查找值和中间值的大小关系,如果查找值小于中间值,则从 中间值前面的数组中查找(不包括中间值,因为已经做过比较了),否则从后面的数组中查找,递归实现全部查找,如果最后没有找到,在循环外返回找不到即可!代码解释package原创 2021-03-29 16:44:32 · 117 阅读 · 0 评论 -
斐波那契原理实现兔子问题,保姆级解释,一看即会!
斐波那契数列描述:斐波那契数列又称为黄金分割数列,该数列从第三个数开始满足前两个数之和等于第三个数!兔子问题现有一对小兔子,第二个月长大为大兔子,第三个月生下一对小兔子,小兔子以此类推,问第N个月后一共有多少对兔子?问题分析该问题完美符合斐波那契数列,从第三个月开始,每个月的兔子总对数为前两月的对数之和,仔细分析发现,每月薪增对数也满足斐波那契数列,请看下图:代码实现package com.lian.convert;import java.util.Scanner;/** * @.原创 2021-03-30 10:20:29 · 2236 阅读 · 0 评论