数据结构——树(Java语言描述)

这篇博客介绍了如何使用Java实现树数据结构,包括树的基本元素、内部类Node的定义,以及Tree类的实现,重点讨论了add方法和find方法的实现思路。文章还提到了动态扩容的enSureSize和grow方法,并展示了实验效果图。最后,作者鼓励读者尝试改进代码,实现删除和更新节点操作。
摘要由CSDN通过智能技术生成

一.树的基本元素

1.元素组成:

在这里插入图片描述

  1. 树根:rootNode. 树只有一个树根。
  2. 节点:Node. 树上的所有节点。
  3. 子节点数组:Node[]. 数组代表每个节点的所有子节点
  4. 父节点:parentNode. 每个节点只有一个父节点。

2. Node为Tree中的内部类

  1. parent :指向父节点的引用
  2. childern: 孩子数组,存储该节点的所有子节点。
  3. T 为泛型参数,代表节点应该存储什么类型的数据,是该节点的数据域。
  4. size: 该节点所有的孩子数目。(孩子数组中所有元素的数目)

3.Tree类(Tree就是对树进行增删改查的实现类,该类内部维护了一个树根节点。)

  1. treeRoot:Tree进行维护的一个树根节点。

  2. cur:代表当前节点的引用,用于各种方法中,减少空间复杂度。

  3. DEFAULT_SIZE:孩子节点数组的默认大小,数值为10.

  4. findNodes():该方法返回当前节点的孩子节点数组。

  5. find():该方法实现返回树中节点的引用功能,用于遍历树节点并且提供当前操作节点的功能。

  6. add():该方法实现对节点的添加,内部调用了find()与addNode()方法实现父类节点的查找与节点数组的动态扩容。

3.实现思路:

代码1:建立一个Tree类。该类内部维护一个顺序树,对外提供基于树的增删改查的方法.该代码是整个树结构的组成单元。

@SuppressWarnings(value = "all")
public class Tree<T> {
   
	// 基于数组的树
	
	//孩子数组默认初始大小
	static int DEFAULT_SIZE = 10;
	
	//树根,Tree对象负责维护该对象。
	private N
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值