- 浏览: 168237 次
- 性别:
- 来自: 武汉
文章分类
最新评论
父节点
----叶子节点
----子节点一
---------叶子节点
---------叶子节点
----子节点二
---------子节点三
----------------叶子节点
----------------叶子节点
如何得到父节点
采用递归算法,碰到叶子节点就加到列表里,不是叶子节点就对其进行循环再递归遍历
/** * 向旗添加 * 实现将得到的目录的所有子目录和目录本身变成ID的LIST * @param 目录ID * @return 目录与其所有子目录组成的ID的LIST * @throws ServiceException */ public List<Long> getAllPisTCategoryStr(PisTCategory obj)throws ServiceException{ List<PisTCategory> listAll = new ArrayList<PisTCategory>(); List<Long> list = new ArrayList<Long>(); listAll = getAllPisTCategoryByParentId(obj); if(listAll.size()!=0){ for(int i =0;i<listAll.size();i++){ list.add(listAll.get(i).getId()); } } return list; } /** * 向旗添加 * 实现根据目录ID得到其所有子目录list * @param 目录ID * @return 所有子目录list * @throws ServiceException */ public List<PisTCategory> getAllPisTCategoryByParentId(PisTCategory obj)throws ServiceException{ List<PisTCategory> listAll = new ArrayList<PisTCategory>(); List<PisTCategory> list = new ArrayList<PisTCategory>(); List<PisTCategory> listtest = new ArrayList<PisTCategory>(); try{ if(obj.getLeaf() != null){ if(obj.getLeaf()==1){ listAll.add(obj); return listAll; }} obj.setLeaf(null); list = getPisTCategoryByParentId_Leaf(obj); if(list.size()!=0){ for(int i=0;i<list.size();i++){ PisTCategory instance = new PisTCategory(); instance = list.get(i); instance.setParentId(instance.getId()); listtest = getAllPisTCategoryByParentId(instance); listAll.addAll(listtest); } } }catch(Exception e){ e.printStackTrace(); throw new ServiceException(this.getClass().getName()+e.getMessage()); } return listAll; }
/** * 向旗添加 * 实现根据父目录查询其子目录及其的所有商品信息 * @param categoryId * @return * @throws ServiceException */ public List<PisTProduct> getListPisTProductByCategoryId(Long categoryId)throws ServiceException{ PisTCategory obj = new PisTCategory(); obj = pisTCategoryService.getPisTCategoryById(categoryId); obj.setParentId(obj.getId()); List<Long> list = pisTCategoryService.getAllPisTCategoryStr(obj); System.out.println(list.size()); GetProductBySiteCategoryQueryObject qo = new GetProductBySiteCategoryQueryObject(); qo.setSiteId(null); qo.setCategorys(list); try { return pisTProductDao.getListPisTProductBySiteId_CategoryIDs(qo); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
发表评论
-
机器学习----逻辑回归
2016-02-19 12:12 786这节学习的是逻辑回归 ... -
通用广告推荐,团购推荐,商户推荐,商品推荐数据算法框架
2015-09-01 16:51 610本章介绍的是简单的多维权重算法以广告为例, 广告有很多属性 ... -
算法程序-通过log重现计算过程
2015-08-17 14:56 1521核心算法类 public class ShopScorer ... -
机器学习算法模型(一)
2015-08-04 12:45 806之前介绍了通用的经验型权重配置算法,但是仍然无法对200多个 ... -
商品名匹配算法
2012-12-17 10:23 1747商品名组成为 品牌+型号(规格)+形容词(颜色)+商品简称+ ... -
求点到曲线的最短距离 垂直逼近算法
2012-08-20 11:13 5748y = ln(x) + Math.pow(x,0.000333 ... -
牛顿迭代--高斯方程求解
2012-08-20 10:59 3006y = alnx + x + x*x + x *x *x + ... -
价格弹性指数 价格与销量模型
2012-07-30 10:35 3686在当今电子商务越来越热的情况下,价格战与利润是一个关键点,价格 ... -
float 导致的计算精确度问题
2012-05-31 14:04 1124java 中float 计算精确度问题,解决方法是利用Bi ... -
价格与销量的关系 JAVA实现该算法 最小二乘法
2012-04-05 17:47 1464由于方程式不方便编辑,一切都在附件的图片和word文档上 -
对URL非法字符进行转义
2012-03-15 15:45 1233url=“http://www.baidu.com?body= ... -
JAVA 读取CSV文件
2012-03-12 16:40 13621、读取CSV文件只从第二行开始读取,忽略标题的,包文件自己搜 ... -
OPI 导出EXCEL(JAVA 应用程序非WEB导出)
2012-03-12 16:39 16771、直接是工具类调用静态方法 import java.io. ... -
JSP 无模板导出功能实现
2012-02-16 10:26 890HttpServletResponse response = ... -
lucene 分词解析器 将商品名全部切成各种词方便匹配
2012-01-10 16:22 15871、附件附上中文解析器的相关包 2、代码 package ... -
导出EXCEL常用工具类
2011-11-18 15:06 13071、接口 package com.yihaodian. ... -
抓取网站全站信息,并导出数据为EXCEL
2011-11-18 13:21 988现在以https://www.mann-hummel.com/ ... -
File的读取和写入操作 java
2011-11-18 13:08 9891、文件的读取操作 File file = new Fil ... -
排序算法,从大到小
2011-11-11 10:51 8711、得到list中最大的那个值 public OppoSit ... -
正则表达式提取特定字符串内的特定内容
2011-09-28 09:16 1532我在@京东商城 发现了一个非常不错的商品:七彩云南 寿 熟饼3 ...
相关推荐
本文旨在介绍如何利用递归算法在孩子兄弟表示法下的树中查找任意节点的双亲节点。 #### 递归算法概述 递归算法是一种通过直接或间接调用自身来解决问题的方法。它的设计基于数学归纳法的思想,能够将复杂问题分解...
正向查找,也称为自底向上查找,是从叶子节点开始,沿着父节点路径向上查找目标节点的过程。在无限级树中,我们从某个特定节点出发,遍历其父节点,直到找到目标节点或到达根节点为止。递归实现正向查找的C#代码示例...
### 查找二叉树子结点的父结点的递归算法 在计算机科学领域,二叉树是一种常见的数据结构,被广泛应用于多种算法和数据处理任务中。本篇文章将详细探讨一种用于查找二叉树中指定子节点的父节点的递归算法。 #### ...
递归算法在这里可以遍历到目标位置的父节点,然后在适当的位置插入新节点。如果新节点还有子节点,这些子节点也会被递归地添加到树中。 **4. 删除菜单项** 删除菜单项需要找到目标节点并移除,同时考虑其对父节点和...
递归删除通常涉及替换节点的查找,而非递归删除则需要维护一个栈来跟踪路径,以便找到合适的替代节点并更新路径上的父节点。 在提供的代码中,可能包含了对这三种操作的实现,包括递归和非递归方法。使用VS2008...
在这个场景中,我们讨论的是使用递归算法来实现无限级树。递归是一种强大的编程技术,通过函数调用自身来解决问题或执行任务,特别适合处理层次结构的问题。 首先,我们需要理解递归的基本概念。递归由两部分组成:...
### Oracle中的Connect By Prior递归算法详解 #### 一、Connect By Prior 子句概述 在Oracle数据库中,`Connect By Prior`子句是一种非常有用的工具,尤其在处理具有层次结构的数据时。它允许用户以一种简洁的方式...
节点的数据元素通常存储在节点内部,而左右子节点则通过指针与父节点相连。 ### 2. 二叉树的遍历算法 遍历是访问二叉树所有节点的过程,确保每个节点都被访问且只被访问一次。遍历二叉树有多种方式,其中前序遍历...
在给定的项目"查找二叉排序树的双亲节点,并输出路径project"中,我们需要实现的功能是找到二叉排序树中特定节点的父节点,并输出从根节点到该节点的路径。 首先,理解二叉排序树的基本操作至关重要。插入操作保持...
计算叶子节点个数的算法通常很简单,可以通过递归的方式来实现。对于一个给定的树,我们可以定义一个函数,它接受一个节点作为参数。如果这个节点是叶子节点,那么函数返回1;如果节点有子节点,就对每个子节点递归...
B-树是一种特殊的多路平衡查找树,设计用于在外存环境下高效地进行数据查找、插入和删除操作。这种数据结构特别适用于大型数据库和文件系统的索引构建,因为它的设计能够减少磁盘I/O操作,从而提高性能。以下是B-树...
* 叶子节点:没有子节点的节点。 * 内部节点:有子节点的节点。 三、二叉树的链式存储结构 二叉树的链式存储结构是指使用链表来存储二叉树的节点信息。每个节点都有三个指针,分别指向左子节点、右子节点和父节点...
根节点是树的起始点,没有父节点;叶子节点是不包含任何子节点的节点。 2. **C语言数据结构表示**: 在C语言中,我们通常通过结构体来定义二叉树节点,包含一个数据域(存储元素)和两个指向子节点的指针: ```c...
- **叶子节点**是没有子节点的节点。 - **父节点**是指向一个或两个子节点的节点。 #### 二、节点插入方法 本文档中的代码实现了节点的插入操作。具体来说,代码中定义了一个`BinaryTree`类,该类中包含一个`Node`...
5. 递归处理:如果调整后父节点仍然是红色,需要继续向上检查并调整,直到根节点或找到黑色父节点为止。 6. 最终报告:记录插入过程中的关键步骤和调整策略,展示源代码实现。 在这个“中科大软院算法导论实验二”...
首先从R树中查找到记录该空间要素所在的叶子节点,这就是R树的查找。查找到该空间要素所在的叶子节点后,删除其对应的单元。如果删除后该叶子节点单元个数少于m,需要进行R树的压缩操作,将单元数过少的结点删除。...
- 若是父节点的右子节点,且父节点有左子树,前驱是父节点左子树的最后一个访问节点,即沿着左子树向下,若无法继续向左,向右移动直到叶子节点。 3. **中序遍历找后继** - 节点有右子节点时,后继是右子节点的最...
- 实现`Parent(T, e)`函数,用于查找指定非根节点`e`的父节点。 - 实现`LeftSibling(T, e)`和`RightSibling(T, e)`函数,用于查找指定节点`e`的左兄弟或右兄弟。 #### 四、程序代码解析 1. **创建二叉树**:通过...
例如,一个`isCompleteTree`函数用于验证完全二叉树,一个`findParent`函数用于查找给定节点的父节点,以及一个`findLeaves`函数用于返回所有叶子节点的列表。 在"**zsx13**"这个文件中,可能包含了实现这些功能的...