【树】简要理解树的概念

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。
P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。

  

1、树的概念


  树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
  有一个特殊的结点,称为根结点,根结点没有前驱结点
  除根结点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1<= i<= m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继因此,树是递归定义的。
  但值得注意的是,在树的结构中,子树之间是不可以有交集否则就不能称之为树的结构。

在这里插入图片描述





2、树的相关概念


  结点的度:一个结点含有的子树的个数(注意,不包括子树的子树,仅限于目标结点的下一层结点)。
  叶结点或终端结点:度为0的结点(即没有子树的结点)。
  非终端结点或分支结点:除了叶结点或终端结点外皆为非终端结点或分支结点,即度不为0的结点。
  双亲结点或父结点:目标节点的下一层有子树的结点称为双亲结点或父结点。
  孩子结点或子结点:目标结点的上一层有结点,即除了源头结点结尾子结点或孩子结点。
  兄弟结点:拥有同一个父结点。
  树的度:一个数中最大的结点的度为树的度。
  结点的层次:从根部开始定义,即从源结点开始定义,根为第一层或第零层,依次向下类推(通常情况下更倾向于将根定义为第一层,因为这样的定义可以让空树表示为0,而若定义为第零层,空树就是-1,会有概念上的误差)。
  树的高度或深度:树中结点的最大层数。
  堂兄弟结点:处于同一层的结点。
  结点的祖先:从根到目标结点所经分支上的所有节点。
  子孙:以某个结点为根的子树中任意一个结点皆为该结点的子孙。
  森林:由m个互不相交的树组成的合计称之为森林。

3、结语


  十分感谢您观看我的原创文章。
  本文主要用于个人学习和知识分享,学习路漫漫,如有错误,感谢指正。
  如需引用,注明地址。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值