JAVA数据结构——树

为什么需要树这种数据结构?

数组存储方式:增删效率慢
链式存储方式:改查效率慢
在这里插入图片描述
树能提高数据存储,读取的效率,很多的集合的底层就是用的树
在这里插入图片描述

树的基本概念

树是数据元素间具有层次关系的非线性结构,是由n个结点构成的有限集合,结点数为0的树叫空树。一个非空树有且仅有一个根结点,其余结点可以分为m个不相交的有限集合,每个集合又构成一棵树,叫根结点的子树。树具有“一对多”的逻辑对应关系。

树的术语

在这里插入图片描述

  • 结点:构成树的基本单位(A/BC/D/E/F…)
  • 根节点root:最上层没有父节点的节点,如A
  • 父节点:有子节点的节点被称为父节点,如A是B/C的父节点,B是D/E的父节点
  • 子节点:如B/C是A的子节点,F/G是C的子节点
  • 叶子节点:没有子节点的节点,如HEFG
  • 节点的权(节点值)如节点F里有一个编号1,那编号1就是节点F的值
  • 路径:从root节点找到改节点的路线,如找D节点A=》B=》D这个路线就是路径
  • 层:树的层,如F/G是第三层、H是第四层
  • 子树:如虚线三角形,D是作为根的子树
  • 树的高度:最大层树如上图是4
  • 森林:多颗子树构成的森林

二叉树的概念

在这里插入图片描述
在这里插入图片描述

前序后续中序遍历二叉树

在这里插入图片描述
先输出父节点是前序遍历最后输出是后序遍历中间输出是中序遍历

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值