树的定义
现实中有很多一对多的线性结构,我们需要研究这种一对多的数据结构——“树”。
树的定义:树是n个结点的有限集。n=0时称为空树。在任意一颗非空树中:① 有且只有一个特定的称为根(root)的结点;②当n>1时,其余节点(非根结点)可分为m个互不相交的有限集T1、T2、…、Tm,其中每一个集合本身又是一棵树,并且称为根的子树,如下图所示:
对于上图的树来说,结点b、d、e组成了根结点的子树T1;c、f组成了根节点的子树T2。而子树T1和T2本身也是一颗树,对于树T1来说,b结点是其根节点。
需要注意的是:
-
n>0时,根结点只有一个,不可能存在多个根结点。
-
子树个数m>0时,子树的个数没有限制,但是子树不可能互相相交, 下图的结构就不符合树的定义,因为有相交的子树。
1.结点的分类
某个结点拥有的子树的个数称为结点的读。度为0的结点称为叶子结点;度不为0的结点称为非终端结点或分支结点。除根结点之外,分支节点也成为内部节点。
树的度是树内各结点度的最大值。
例如下图的树:
这棵树的结点为树内各节点度的最大值,即3.
2.节点间的关系
节点之间存在如下关系:
- 结点的子树的根称为该节点孩子,相应地,该节点称为孩子的双亲。
- 同一双亲的孩子之间互称兄弟。
- 结点的祖先是从根到该节点所经分支上的所有结点,以某结点为根的子树中任一节点都称为该节点的子孙。
例如下图的树:
3.树的其他相关概念
①结点的层次
- 结点的层次从根开始定义起,根为第一层,根的孩子为第二层。若某结点在第l层,其子树就在第l+1层。
- 双亲在同一层的结点互为堂兄弟。
- 树中的结点最大层次称为树的深度或高度。
②左序树和无序树
- 如果树中结点看成从左往右有次序,不能互换的,称为有序树。
- 树中结点左右顺序可以互换,称为无序树。
③森林:m棵互不相交的树的集合称为森林。
如上图的子树T1和T2其实就是森林。
标签:5.1,结点,子树,定义,称为,T2,T1,节点 来源: https://blog.csdn.net/weixin_44897707/article/details/121271898
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。