树的基本概念及其相关操作(部分01)

本文介绍了树这一数据结构的概念,包括其定义、基本性质及关键术语,如结点、根结点、子树等,并解释了树的递归特性及其逻辑结构的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树的定义:

树是n(n>=0)个结点的有限集合,n=0时,称为空树,这是一种特殊情况。

在任意一颗非空树中,应该满足:

  • 有且仅有一个特定的称为根的结点;
  • 当n>1时,其余节点可分为m(m>0)个互不相交的有限集合T1,T2...Tm,其中每个集合本身又是一颗树,并且称为根结点的子树

显然,树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,具有一下两个特点:

  • 树的根节点没有前驱结点,除根结点外的所有结点有且只有一个前驱结点;
  • 树中所有结点可以有0个或者多个后继节点;
  • 具有n个结点的树中有n-1条边;

树的基本术语:

 一:

考虑结点28,根节点23到结点28的唯一路径上的任意结点称为结点28的祖先结点,而结点28是结点该路径上其他节点的子孙结点

路径上距离结点28最近的结点46称为结点28的双亲结点,而结点结点28称为结点46的孩子结点。根节点23是唯一没有双亲的结点。

有相同双亲的结点称为兄弟结点

二:

树中一个结点的子结点个数称为该结点的度

树中结点最大的度数称为树的度

三:

度大于0的结点称为分支节点(非终端结点)

度为0的结点(没有子女结点)的结点称为叶子结点(终端结点)。

在分支结点中,每个结点的分支数就是该结点的度

四:

结点的层次从根结点开始,根结点为第1层(或者第0层),它的子结点为第2层(或者第1层),以此类推

结点的深度是从根结点开始自顶向下逐层累加的(如上图结点46的深度是3)

结点的高度是从叶子结点自底向上逐层累加的(如上图结点46的高度是2,结点10的高度是1)
五:

有序树:树中结点的子树从左到右是有次序的,且不能交换。

无序树:上述相反。

六:

路径:树中两个结点之间经过的结点序列称之为路径

路径长度:路径上所经过的边的个数

七:

森林:森林是m(m>=0)颗互不相交的树的集合。

树的基本性质:

  1. 树中的结点数等于所有结点的度数加1;
  2. 度为m的树中第i层上至多有m^(i-1)个结点(i>=1);
  3. 高度为h的m叉树至多有(m^h-1)/(m-1)个结点;
  4. 具有n个结点的m叉树的最小高度为log m(n(m-1)+1)向下取整;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值