《Java数据结构》树形结构
Posted jssj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《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()); //打印父接口
运行结果:
以上是关于《Java数据结构》树形结构的主要内容,如果未能解决你的问题,请参考以下文章