递归算法即案例

article/2025/10/7 3:54:20

递归(recursion)程序调用自身的编程技巧

递归满足2个条件:

1. 有反复执行的过程(调用自身)
2. 有跳出反复执行过程的条件(递归出口)

项目中用到递归案例

  • 递归读取文件
  • 获取字典值(带层级关系)
  • 获取权限菜单(带层级关系)

示例 :获取权限菜单
菜单表结构
在这里插入图片描述
对应实体

public class Menus {@ApiModelProperty("菜单id 对应表的id")private String menuId;@ApiModelProperty("菜单名称 对应表的name")private String menuName;@ApiModelProperty("父id 对应表的parent_id")private String parentId;@ApiModelProperty("url 对应表的url")private String parentId;@ApiModelProperty("子菜单")private List<Menus> subMenu= Lists.newArrayList();//get set 需要 此处省略
}

处理代码

   @Overridepublic List<Menus> getAllMenus() {//获取所有的菜单List<Menus> list=userMapper.getAllMenus();List<Menus> menus=new ArrayList<>();for(Menus m:list){//找出父级别(最高层级)if("0".equals(m.getParentId())){//递归获取子集getChild(m,list);menus.add(m);}}return menus;}/*递归对子集处理*/private void getChild(Menus dictDTO, List<Menus> list) {List<Menus> children = dictDTO.getSubMenu();for (Menus dto : list) {//获取子集if (dto.getParentId().equals(dictDTO.getMenuId())) {children.add(dto);}}//if 判断即是递归出口if (!CollectionUtils.isEmpty(children)) {//获取子集的子集for (Menus child : children) {getChild(child, list);}}}

http://chatgpt.dhexx.cn/article/MhjEofHr.shtml

相关文章

【递归算法】递归算法的快速入门

&#x1f40b;作者简介&#xff1a;博主是一位.Net开发者&#xff0c;同时还是RPA和低代码平台的践行者。 &#x1f42c;个人主页&#xff1a;会敲键盘的肘子 &#x1f430;系列专栏&#xff1a;数据结构与算法 &#x1f980;专栏简介&#xff1a;图解经典算法&#xff0c;C#代…

递归算法详细解析

递归 程序调用自身的编程技巧称为递归&#xff08; recursion&#xff09;&#xff0c;它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。一般来说&#xff0c;递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时&#xff0c;递归前…

递归算法详解

递归&#xff08;英语&#xff1a;recursion&#xff09;在电脑科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。 0、前言 递归其实和循环是非常像的&#xff0c;循环都可以改写成递归&#xff0c;递归未必能改写成循环&#xff0c;这是一个充分不必要的条…

递归算法及经典递归实现

递归 递归就是方法自己调用自己&#xff0c;每次调用时传入不同的变量&#xff0c;递归有助于编程者解决复杂的问题&#xff0c;同时可以让代码变得简洁。 递归&#xff1a; 在定义自身的同时又出现了对自身的调用 直接递归函数&#xff1a; 在定义函数体中直接调用自己 间接…

递归算法讲解

原作者&#xff1a;书呆子Rico 《递归的内涵与经典应用》 http://my.csdn.net/justloveyou_ 摘要&#xff1a; 大师 L. Peter Deutsch 说过&#xff1a;To Iterate is Human, to Recurse, Divine.中文译为&#xff1a;人理解迭代&#xff0c;神理解递归。毋庸置疑地&#xff0…

递归算法及经典实例----转载啦~

递归算法及经典递归例子代码实例 递归&#xff08;recursion&#xff09;&#xff1a;程序调用自身的编程技巧。 递归满足2个条件&#xff1a; 1&#xff09;有反复执行的过程&#xff08;调用自身&#xff09; 2&#xff09;有跳出反复执行过程的条件&#xff08;递归出…

递归算法的讲解

原作者&#xff1a;书呆子Rico 《递归的内涵与经典应用》 http://my.csdn.net/justloveyou_ 摘要&#xff1a; 大师 L. Peter Deutsch 说过&#xff1a;To Iterate is Human, to Recurse, Divine.中文译为&#xff1a;人理解迭代&#xff0c;神理解递归。毋庸置疑地&#xff0…

递归算法经典例题及详解

有句话叫递归算法只可意会不可言传&#xff0c;我也领略了&#xff0c;感觉递归算法好神奇&#xff0c;不知不觉的就把工作做完了! 下面这道题也是小编从力扣上看来得&#xff0c;但是关于它是怎样递归的是小编自己想的哦❤️❤️如果有不足&#xff0c;希望大家多多指正&#…

递归算法及经典递归例子代码实现

一、什么叫做递归&#xff1f; 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法&#xff1b; 递归函数就是直接或间接调用自身的函数&#xff0c;也就是自身调用自己&#xff1b; 二、一般什么时候使用递归&#xff1f; 递归时常用的编程技术&#xff0c;其基本…

递归算法(图文详解)

递归算法 一、算法概述 递归算法是一种直接或者间接调用自身函数或者方法的算法。说简单了就是程序自身的调用。二、算法实质 递归算法就是将原问题不断分解为规模缩小的子问题&#xff0c;然后递归调用方法来表示 问题的解。&#xff08;用同一个方法去解决规模不同的问题&am…

递归算法及经典例题详解

大部分人在学习编程时接触的第一个算法应该就是递归了&#xff0c;递归的思想其实很好理解&#xff0c;就是将一个问题拆分为若干个与本身相似的子问题&#xff0c;通过不断调用自身来求解。 但很多新手在实际操作中却很难正确使用到递归&#xff0c;有时面对问题还会有种无从…

几道经典递归算法案例

一&#xff09;递归介绍 定义&#xff1a; 1、在函数体中直接或间接的调用自身的一种方法。 2、必须要有边界值&#xff0c;也就是停止的条件。 头递归&#xff1a;函数调用时不是传递本次计算的结果&#xff0c;而是把当前的调用状态传递&#xff0c;相当于要一直记录上一…

【函数递归】简单递归的5个经典例子,你都会吗?

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位巨佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 今天和大家谈谈简单递归&#x1f973;&#x1f973;&#x1f973; &#x1f692;什么是递归 递归的定义&#xff1a; 递归是一种解决问题的有效方…

四个超好用的优质资源搜索网站,海量优质资源等你发现!

在网上找资源的时候总找不到满意的优质资源&#xff1f;今天小编把办公室大佬珍藏多年的四个超好用优质资源搜索网站分享给你&#xff0c;只要你想找&#xff0c;没有找不到的资源&#xff01; 一&#xff0c;学习资料库 学习资料库中有大量的免费学习资料&#xff0c;学习资料…

珍藏多年的技术资源搜索网站——程序员必备

程序员经常需要找一些技术书籍和相关文档&#xff0c;但是通过百度查找往往都是需要各种积分才能够下载&#xff0c;笔者平时的学习中积累几个搜索工具网站&#xff0c;基本上所有需要的技术文档&#xff0c;经典书籍&#xff0c;学习资料&#xff0c;学习视频等等都可以在下列…

在百度上搜不到的资源是在哪找的?就在这些强大的资源搜索网站呀

都说又不懂的问“度娘”最快&#xff0c;但是也有一些东西是在“度娘”哪里也找不到的。那些在百度上搜不到的资源是在哪找的呢&#xff1f;就在这些强大的资源搜索网站呀~ 1.茶杯狐 茶杯狐&#xff0c;它的资源搜索功能很成熟&#xff0c;这里收集了海量的资源可以免费下载&a…

黑科技之资源搜索网站

欢迎加入BIM行业开发交流1群 群号:711844216 一、背景 大家经常会有搜索视频&#xff0c;音乐&#xff0c;PDF&#xff0c;APP等资源的需求&#xff0c;然而通过现有搜索引擎不是很方便找到自己想要的东西&#xff0c;这里笔者推荐几个不错的免费网站&#xff0c;基本上用起来…

超好用的云盘资源搜索网站

超好用的云盘资源搜索网站 云盘资源搜索云云搜索搜百度盘盘搜搜万盘搜索爱挖盘盘搜我的盘 云盘资源搜索 想要的资源轻轻松松一键搞定&#xff0c;让工作生活更轻松。 注*本分享仅供学习参考 云云搜索 http://www.yunyunso.com 搜百度盘 http://www.sobaidupan.com 盘搜…

网盘资源搜索网站

本篇博客总结了百度网盘常用的资源搜索网站。 1.盘搜搜 盘搜搜支持百度云搜索、115网盘、360云盘、华为网盘、新浪微盘等搜索服务&#xff0c;是您工作、学习、娱乐的网盘搜索神器 2.如风搜 如风搜&#xff0c;全网网盘搜索工具。是您工作、学习、娱乐的好助手。找好资源&…

6个超级实用的免费网盘搜索网站分享

因为各种原因&#xff0c;多数网盘搜索网站“寿命”都很短&#xff0c;也有很多百度网盘搜索站点都提高了使用门槛&#xff08;比如付费才能使用&#xff09;。 分享几个自己认为搜索的资料蛮全&#xff0c;到现在&#xff08;2021年&#xff09;为止还能使用的网盘搜索网站。…