《Java数据结构》树形结构
时间:2019-10-02
本文章向大家介绍《Java数据结构》树形结构,主要包括《Java数据结构》树形结构使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
树形结构是一层次的嵌套结构。 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。经典数据结构中的各种树形图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树。 左子树和右子树又有自己的子树。
结构图:
一切尽在代码中:
import java.util.ArrayList; import java.util.List; public class TreeNode { private int age; // 节点属性,年龄 private String name; //节点属性,姓名 TreeNode proTreeNode; //上级节点 List<TreeNode> list = new ArrayList<TreeNode>(); //孩子节点 public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public TreeNode getProTreeNode() { return proTreeNode; } public void setProTreeNode(TreeNode proTreeNode) { this.proTreeNode = proTreeNode; } public void addTreeNode(TreeNode treeNode){ list.add(treeNode); treeNode.proTreeNode = this; } public TreeNode getTreeNode(Integer i){ return list.get(i); } public void removeTreeNode(TreeNode treeNode){ list.remove(treeNode); treeNode.proTreeNode = null; } public String toString(){ return "姓名:"+name+";年龄:"+age+"。"; } }
/** * 创建一个树结构: * * 李磊 * | | * 韩梅梅 丽丽 * | * 李刚 */ public class TreeStructure { public static void main(String[] args) { TreeNode treeNode0 = new TreeNode(); treeNode0.setAge(11); treeNode0.setName("李磊"); TreeNode treeNode1 = new TreeNode(); treeNode1.setAge(13); treeNode1.setName("韩梅梅"); TreeNode treeNode2 = new TreeNode(); treeNode2.setAge(15); treeNode2.setName("莉莉"); TreeNode treeNode3 = new TreeNode(); treeNode3.setAge(15); treeNode3.setName("李刚"); treeNode0.addTreeNode(treeNode1); //父节点关联孩子节点 treeNode0.addTreeNode(treeNode2); //父节点关联孩子节点 treeNode2.addTreeNode(treeNode3); //丽丽节点下挂李刚 System.out.println(treeNode1); //打印节点本身 System.out.println(treeNode2.getTreeNode(0)); //打印树节点 System.out.println(treeNode1.getProTreeNode()); //打印父接口 } }
运行结果:
原文地址:https://www.cnblogs.com/jssj/p/11617610.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python实现抓取web和xcx数据推送到wx和邮件
- 如何快速识别项目水平?
- 亲测有效 | OpenVINO支持ONNX格式文件直接读取了
- 【自动化测试】【Jest-Selenium】(01)—— Jest 入门
- 设计模式:原型模式
- 后端逆袭,一份不可多得的PHP学习指南
- 走进Java接口测试之工具类库 Hutool
- Go开源游戏服务器框架——Pitaya
- 性能分析之pidstat新版本的%wait和mpstat的%iowait、top的wa
- 走进Java接口测试之整合ELK实现日志收集
- 【一天一大 lee】 监控二叉树 (难度:困难)-Day20200922
- 网络学习笔记2——物理层基础(信号与系统)(未完待续)
- 浅谈 React 中的 XSS 攻击
- Chrome 80+ 跨域Samesite 导致的cookie not found 解决方法
- 再不迁移到Material Design Components 就out啦