`
zhengxuezhou
  • 浏览: 151315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java实现Tree

    博客分类:
  • j2se
 
阅读更多
/******************************************begin node class**************************************/
package com.tree.node;
import java.util.ArrayList;
import java.util.List;
public class Node
{
//子id
private int id;
//父id
private int pid;
//描述
private String desc;
//子节点
public List<Node> children = new ArrayList<Node>(0);

public Node(int id,int pid,String desc)
{
  this.id = id;
 
  this.pid= pid;
 
  this.desc = desc;
}

public int getId() {
  return id;
}

public void setId(int id) {
  this.id = id;
}

public int getPid() {
  return pid;
}

public void setPid(int pid) {
  this.pid = pid;
}

public String getDesc() {
  return desc;
}

public void setDesc(String desc) {
  this.desc = desc;
}
}
/******************************************end node class**************************************/


/*****************************************begin Tree class *************************************/
package com.tree.node;
public class Tree
{
//根节点
public Node root = new Node(0,-1,"根节点");

public void addNode(Node node)
{
  eqNode(root,node);
}
private void   eqNode(Node fN,Node node)
{
  if(fN.getId()==node.getPid())
  {
   fN.children.add(node);
  }
  else
  {
   for(Node n :fN.children)
   {
     eqNode(n,node);
   }
  }
}

public void display(Node node,String s)
{
  System.out.println(s+node.getDesc());
  s+="|------";
  if(node.children.size()>0)
  {
   for(Node n: node.children)
   {
    display(n,s);
   }
  }
}
}

/*******************************************end Tree class********************************/



/********************************************test clas ***********************************/
package com.tree.node;
public class Test {
/**
  * @param args
  */
public static void main(String[] args)
{
  // TODO Auto-generated method stub
  /**
   * 当前的参数fid必须在当前树中存在
   */
  Tree tree = new Tree();
  Node n1 = new Node(1,0,"节点1");
  Node n2 = new Node(2,1,"节点2");
  Node n3 = new Node(3,2,"节点3");
  Node n4 = new Node(4,0,"节点4");
  Node n5 = new Node(5,3,"节点5");
  Node n6 = new Node(6,0,"节点6");
  Node n7 = new Node(7,6,"节点7");
  //Node n8 = new Node(8,6,"节点8");
  Node n9 = new Node(9,1,"节点9");
  Node n10 = new Node(10,4,"节点10");
  Node n8 = new Node(8,10,"节点8");
  Node n11 = new Node(11,8,"节点11");
  Node n12 = new Node(12,5,"节点12");
  Node n13 = new Node(13,5,"节点13");
  tree.addNode(n1);
  tree.addNode(n2);
  tree.addNode(n3);
  tree.addNode(n4);
  tree.addNode(n5);
  tree.addNode(n6);
  tree.addNode(n7);
  //tree.addNode(n8);
  tree.addNode(n9);
  tree.addNode(n10);
  tree.addNode(n8);
  tree.addNode(n11);
  tree.addNode(n12);
  tree.addNode(n13);
  tree.display(tree.root,"");
}
}
分享到:
评论

相关推荐

    java tree的实现

    ### Java 实现 Tree 数据结构详解 #### 一、概述 在计算机科学中,树是一种常用的数据结构,用于模拟具有层次关系的数据集。本篇文章将基于Java语言,介绍一种树形数据结构的实现方法,包括其类的设计、节点的添加...

    B+ tree的java实现

    下面将详细讨论如何用Java实现B+树。 首先,B+树的节点分为两种类型:内部节点(或索引节点)和叶子节点。内部节点存储键值,不存储数据,而叶子节点则同时存储键值和对应的数据。在Java实现中,我们通常会创建两个...

    java中tree的实现

    文件`java实现树状关系图.htm`和`java实现树状关系图.files`可能包含了关于如何在Java中用图形方式表示树状结构的示例代码或资源,这通常涉及到Swing库中的`JTree`组件。`JTree`允许我们在GUI应用程序中创建交互式的...

    treeMap实现分组数据树形结构

    在Java编程中,TreeMap是一种基于红黑树(Red-Black Tree)算法实现的有序映射数据结构。它按照键的自然顺序或者自定义比较器的顺序来存储元素。在这个场景下,`TreeMap`被用来实现数据的分组,并构建一个树形结构,...

    Java中带复选框的树(Java CheckBox Tree)的实现和应用.doc

    总结来说,Java 中实现带复选框的树(CheckBox Tree)需要自定义 TreeNode 类(CheckBoxTreeNode),用于存储结点是否被选中的状态,并实现选中/取消选中时子结点和父结点的状态更新。同时,还需要创建一个 ...

    java tree在web上的实现

    Java Tree在Web上的实现主要涉及的是前端展示与后端数据交互的技术,以及如何利用XML作为数据容器。在本文中,我们将深入探讨如何使用Java技术栈,特别是JSP(JavaServer Pages)和JavaScript库如jTree,来构建一个...

    FP树增长算法的java实现

    在提供的`fpgrowth`文件中,可能包含了FP树算法的具体Java实现代码,包括类定义、方法实现以及可能的数据示例。通过阅读和理解这段代码,我们可以深入学习FP树算法的内部工作机制,并将其应用到实际的数据挖掘项目中...

    Javatree java树结构

    5. Java实现: 在Java中,我们可以使用类和对象来实现树结构。例如,定义一个Node类,包含数据和指向子节点的引用。为了支持树的各种操作,我们可以编写对应的函数,如insertNode()、deleteNode()、searchNode()等...

    java实现网格法、KDTree空间检索

    本项目专注于使用Java语言实现两种高效的空间检索算法:网格法和KDTree。下面将详细阐述这两种方法及其在Java中的实现。 首先,网格法,也称为四叉树或QUADtree,是一种将空间数据结构划分为小的、互不重叠的矩形...

    PersistentIdealHashTree-Java实现

    本文将深入探讨PersistentIdealHashTree的Java实现及其在并发编程中的应用。 首先,我们需要理解PersistentIdealHashTree的基本概念。这种数据结构是一种基于哈希表的持久化数据结构,其核心特点是能够在保持旧版本...

    java简单开发部门树(Tree)

    在Java开发中,构建部门树(Tree)是一个常见的需求,特别是在企业级应用中,用于展示组织结构或权限管理。这个项目提供了从JSP前端到Java后端的完整解决方案,非常适合初学者理解和学习,也能帮助有经验的开发者...

    java_tree_demo.rar_DEMO_java tr_java tree Demo_java tree de

    Java Tree Demo是一个面向Java开发者的示例项目,它展示了如何在Java中实现树形数据结构以及相关的操作。这个项目可能包含一系列的版本,从最初的基础实现到最终的完善版本,以便展示开发过程中的演变。根据描述,源...

    Java实现B+Tree

    步骤为数据库文件创建一个B+树索引: (1)生成数据文件, (2)为数据库文件的属性创建B+ 树文件。 (3)给定键值,通过B+树进行查找。同时比较与直接扫描表的性能差别。...资源包括:Java源码及实验报告!

    Java Tree的几种开源组件

    在Java编程语言中,"Tree"通常指的是树形数据结构的实现,这在软件开发中具有广泛的应用。本文将深入探讨几种开源的Java Tree组件,它们可以帮助开发者高效地处理和展示树状数据。 1. **JTree(Java Swing组件)** ...

    基于JAVA的Tree树形菜单管理系统源代码

    本项目“基于JAVA的Tree树形菜单管理系统源代码”提供了一个实现这种功能的实例,展示了如何利用Java语言来创建一个美观且易用的树形菜单系统。 在Java中,树形控件的实现主要依赖于Java Swing库,特别是`javax....

    java 树 tree

    Java提供了多种方式来实现和操作树结构,其中最常见的是使用Java集合框架中的`java.util.TreeSet`和`java.util.TreeMap`,以及`java.awt.tree.TreeModel`和`javax.swing.JTree`用于图形用户界面的树视图。...

    用Java集合递归实现通用树Tree

    本资源主要关注如何使用Java集合框架来递归实现一个通用的树结构,即`Tree`。下面我们将深入探讨这个主题。 首先,我们要了解Java集合框架。Java集合框架是Java语言提供的一组接口和类,用于存储和操作各种数据结构...

    java中的tree

    在Java中,`java.util.TreeSet`和`java.util.TreeMap`是两个常用的类,它们基于红黑树(Red-Black Tree)算法实现,提供了有序的存储和高效的操作。 动态树列表(TreeList)是一种增强的树形视图,它结合了树和列表...

    2-4 tree 的java 实现

    在IT领域,2-4树是一种特殊的自平衡二叉查找树(B-tree),它具有2个到4个孩子节点的特点。这种数据结构主要用于高效...2-4树的Java实现可以帮助开发者掌握数据结构和算法,这是提升编程技能和解决复杂问题的关键能力。

    jsTree JAVA例子

    在 Java 开发中,jsTree 可以与后端服务进行交互,动态加载数据,实现前端界面的动态展示。 **1. jsTree 的基本使用** jsTree 首先需要在 HTML 页面中引入相关的 CSS 和 JS 文件。你可以通过 CDN 或者本地文件引用...

Global site tag (gtag.js) - Google Analytics