返回顶部
首页 > 资讯 > 后端开发 > JAVA >java 树状数据,递归 从子节点找父节点
  • 408
分享到

java 树状数据,递归 从子节点找父节点

数据结构算法 2023-08-20 08:08:36 408人浏览 泡泡鱼
摘要

前言:递归算法在项目中也会使用到,简单介绍一下在项目中使用到的场景 补充一个题目 递归方法实现三个要素: 明确递归终止条件; 给出递归终止时的处理办法; 提取重复的逻辑,缩小问题的规模。 场景一:根据树状图的某一节点,查找特定条件的上级节点

前言:递归算法在项目中也会使用到,简单介绍一下在项目中使用到的场景

补充一个题目

递归方法实现三个要素:

明确递归终止条件;

给出递归终止时的处理办法;

提取重复的逻辑,缩小问题的规模。

场景一:根据树状图的某一节点,查找特定条件的上级节点,子节点和父节点 通过 id和parentId关联

在这里插入图片描述
类似图中的数据查找场景,方法实现模板如下:

public Tree getFatherTree(String TreeId){        Tree tree = treeMapper.selectByPrimaryKey(treeId);        if(tree.getLevel().equals("2")){ // 跳出循环条件            return tree;        }else{            return getFatherTree(tree.getParentTreeId());        }    }

场景二 :查询当前节点下面所有子节点数据
在这里插入图片描述
创建的方法如下

List<Tree> all = new ArrayList<>();    List<Tree> res = new ArrayList<>();    public List<Tree> getSonList(String TreeId,List<Tree> allList1){        List<Tree> childList = new ArrayList<>();        for(int j = 0 ;j< all.size();j++){            if(TreeId.equals(all.get(j))){                this.res.add(all.get(j));            }        }        for(Tree Tree :childList){            getSonList(Tree.getTreeId(),childList);        }        if(allList1.size()==0){            return  new ArrayList<>();        }        return  childList;    }

在这里插入图片描述

在这里插入图片描述

来源地址:https://blog.csdn.net/jiangwudidebaba/article/details/128564920

--结束END--

本文标题: java 树状数据,递归 从子节点找父节点

本文链接: https://lsjlt.com/news/376320.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java 树状数据,递归 从子节点找父节点
    前言:递归算法在项目中也会使用到,简单介绍一下在项目中使用到的场景 补充一个题目 递归方法实现三个要素: 明确递归终止条件; 给出递归终止时的处理办法; 提取重复的逻辑,缩小问题的规模。 场景一:根据树状图的某一节点,查找特定条件的上级节点...
    99+
    2023-08-20
    数据结构 算法
  • ORACLE数据库递归查询当前节点的父节点和子节点(tree)
    ORACLE 数据库递归查询当前数据的所有孩子数据(不包含自己)SELECT id   AS id,   parent_id&n...
    99+
    2024-04-02
  • sql递归查询父子节点
    一、表结构 二、递归查询当前节点的所有父节点 select * from test start with id = 3 connect by prior pid = id 三、递归查询当前节点的所有子节点 sele...
    99+
    2014-07-18
    sql递归查询父子节点
  • java递归查找树的子节点怎么实现
    在Java中,使用递归实现查找树的子节点可以通过以下步骤完成: 定义树节点类,包含节点值和左右子节点引用。 class Tree...
    99+
    2023-10-25
    java
  • 【mysql 递归查找菜单节点的所有子节点】
    mysql 递归查找菜单节点的所有子节点 背景准备查询注意: 分析 背景 项目中遇到一个需求,要求查处菜单节点的所有节点,在网上查了一下,大多数的方法用到了存储过程,由于线上环境不能随...
    99+
    2023-09-09
    mysql sql 数据库
  • SQL的递归查询子/父节点结构(MySQL)
    当数据库中存储了树型结构的数据,例如城市表时,我们要搜索一个城市的所有父级城市或所有的子级城市,首先想到的就是利用SQL的递归查询,来看下面的MySQL例子(下列例子MySQL只适用于8.0版本及以上): 下载SQL,执行 表结构和数据S...
    99+
    2023-08-17
    sql 数据库 mysql
  • mysql 递归查找菜单节点的所有子节点的方法
    背景 项目中遇到一个需求,要求查处菜单节点的所有节点,在网上查了一下,大多数的方法用到了存储过程,由于线上环境不能随便添加存储过程, 因此在这里采用类似递归的方法对菜单的所有子节点进行查询。 准备 创建menu表: ...
    99+
    2022-05-15
    mysql 递归查找菜单节点 mysql 递归查找节点
  • MySql如何利用父id递归向下查询子节点
    这篇文章主要介绍了MySql如何利用父id递归向下查询子节点,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。不用写存储过程,不用建数据库函数,一段sql就可以实现SELEC&#...
    99+
    2023-06-29
  • Oracle通过递归查询父子兄弟节点方法示例
    前言 说到Oracle中的递归查询语法,我觉得有一些数据库基础的童鞋应该都知道,做项目的时候应该也会用到,下面本文就来介绍下关于Oracle通过递归查询父子兄弟节点的相关内容,分享出来供大家参考学习,下面话...
    99+
    2024-04-02
  • MySQL根据父节点id查询所有子节点信息
    SELECT * FROM ( SELECT t1.*, IF(FIND_IN_SET(pid, @pids) > 0, @pids := CONCAT(@pids, ',', id),...
    99+
    2023-09-08
    sql Powered by 金山文档
  • java递归查询所有子节点怎么实现
    在Java中,可以使用递归来查询所有子节点。具体实现如下: 首先,创建一个树节点类,包含一个值和一个子节点列表: class Tre...
    99+
    2023-10-25
    java
  • Mysql 实现向上递归查找父节点并返回树结构的示例代码
    通过mysql 8.0以下版本实现,一个人多角色id,一个角色对应某个节点menu_id,根节点的父节点存储为NULL, 向上递归查找父节点并返回树结构。如果只有叶子,剔除掉; 如果只有根,只显示一个秃顶的根 ;如果既有...
    99+
    2024-04-02
  • Mysql实现向上递归查找父节点并返回树结构的示例代码
    通过mysql 8.0以下版本实现,一个人多角色id,一个角色对应某个节点menu_id,根节点的父节点存储为NULL, 向上递归查找父节点并返回树结构。如果只有叶子,剔除掉; 如果...
    99+
    2024-04-02
  • 以mysql为例,通过sql查找所有父节点和所有子节点
    以图中的dept表为例: id:主键 parent_id:父id name:名称 1. 获取所有子节点sql: select id from dept where id = 2 union selec...
    99+
    2023-08-16
    mysql sql 父节点 子节点
  • 使用递归怎么删除树形结构的所有子节点
    使用递归怎么删除树形结构的所有子节点?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.业务场景有如下树形结构: +—0 +—1 +—2 +—4 +—5 +—3如...
    99+
    2023-05-31
    递归
  • MySql利用父id递归向下查询子节点的方法实例
    不用写存储过程,不用建数据库函数,一段sql就可以实现 不用写存储过程,不用建数据库函数,一段sql就可以实现 不用写存储过程,不用建数据库函数,一段sql就可以实现 SELEC&#...
    99+
    2024-04-02
  • 怎么使用Java递归推出给定节点数的所有形状二叉搜索树
    这篇文章主要讲解了“怎么使用Java递归推出给定节点数的所有形状二叉搜索树”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Java递归推出给定节点数的所有形状二叉搜索树”吧!题目:给定...
    99+
    2023-06-02
  • mysql递归子节点查询的方法是什么
    在MySQL中,递归子节点查询可以通过使用递归查询语句来实现。MySQL本身没有提供递归查询的功能,但可以通过使用存储过程或视图来模...
    99+
    2023-10-25
    mysql
  • oracle递归查询所有子节点怎么实现
    实现Oracle递归查询所有子节点可以通过使用CONNECT BY子句来实现。CONNECT BY子句用于在查询结果中递归地查找子节...
    99+
    2024-04-09
    oracle
  • Java递归算法详解(动力节点整理)
    递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法简洁...
    99+
    2023-05-31
    java 递归 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作