算法
程序员小召
公司职员,从事java软件开发5年,混在程序猿中一只小巨蟹≧(°°)≦
个人微信公众号:main方法
个人网站地址:http://javakfz.com
展开
-
Java递归查询某个节点下所有子节点多级信息(递归部门查询,递归树形结构数据查询)
前言在做项目中我们会遇到树形机构数据,如果我们想要查询某个几点下面所有子节点(多级)数据,此时我们又不知道下面有多少级节点以及节点ID,那么我们就需要使用递归去查询了,当然在数据库中写函数也是可以实现的,下面我们使用Java来实现递归查询树形结构数据。Java代码实现:/** * 递归查询 * @param ids * @return */ public List<FarmDepartment> queryAllDepartmentId(List<Long>原创 2020-07-27 11:09:18 · 6278 阅读 · 1 评论 -
Java数据结构与算法之队列(Queue)实现
Java代码实现队列public class Queue { // 存储队列数组 private long[] arr; // 队列最大长度 private int maxSize; // 队列元素数量 private int elems; // 出队列标记 private int font; // 进队列标记 private int end; public Queue(int maxSize) { this.maxSize = maxSize; arr原创 2020-07-15 11:38:12 · 438 阅读 · 0 评论 -
Java数据结构与算法之栈(Stack)实现
前言栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈图解Java代码实现public class Stack { private int maxSize; private long[] arr; private i原创 2020-07-14 12:20:29 · 436 阅读 · 0 评论 -
java算法之递归算法(打印99乘法表)
递归其实在程序当中我们可以理解为自己调用自己,使用递归做相关计算都是具有一定规律的逻辑,下一步计算都需要用到前一步或几步计算结果,比如说我们在做连加、连乘及阶乘、遍历文件夹等,递归还必须要满足两个条件:在每一次调用自己时,必须是要接近于结果。必须在有限次计算中有一个终止的处理。如不遵循以上条件往往会让递归进入死循环,从而只有递没有归。下面我们就在Java中使用递归打印出99乘法表。递归打印99乘法表嵌套for循环实现99乘法表for (int i = 1; i<= 9; i++)原创 2020-06-17 18:35:00 · 1200 阅读 · 0 评论 -
Java 8 API Stream让List操作更便捷
Java8新增的API Strem(流),没用过的同学可能不知道它是做什么的,下面我们就来说说Stream给我们带来的好处,它能让我们更便捷的对集合做操作,以往我们在对集合做数据过滤,排序,数据聚合,集合转换与不同数据类型之间的转换 操作的时候都要写很多繁琐的代码来处理,自从Strem的出现我们无需再去写麻烦的处理逻辑,以前可能几行,几十行代码现在一行代码即可解决。...原创 2020-06-10 16:46:47 · 413 阅读 · 3 评论 -
java数组插入排序代码详解
public static void main(String[] args) { //排序数组 int[] arr = {1,3,2,7,5,6}; //选择数据 int select = 0; //数组长度 int arrLen = arr.length; //选择从第二个数字开始 for (int i = 1; i < arrLen; i++) { ...原创 2020-04-27 14:55:10 · 970 阅读 · 1 评论 -
java数组选择排序代码详解
public static void main(String[] args) { //排序数组 int[] arr = {1,3,2,7,5,6}; //最小数字下标 int minIndex = 0; //数组长度 int arrLen = arr.length; //数组减1是因为前面数字排序后最后一个为最大值或最小值 for (int i = 0; i <...原创 2020-04-26 17:56:37 · 495 阅读 · 0 评论 -
java数组冒泡排序算法代码详解
public static void main(String[] args){ /* 冒泡排序由两层嵌套循环实现排序,外层循环数据对比轮数,内层循环控制每轮对比次数,每一轮依次减少一次对比次数,最终实现排序 */ //乱序数组 int[] arr = {9,3,2,10,4,6}; //外层控制对比轮...原创 2019-10-17 15:46:14 · 2754 阅读 · 0 评论