数据结构 树的定义

树(Tree)是n(n>=0)个节点的有限集,当n=0时称为空树。在任意一颗非空树中:(1)有且仅有一个特定的称为根(Root)的节点,(2)n>1时,其余节点可分为m(m>0)个互不相交的有限级T1、T2。。。Tm,其中每一个集合本身又是一棵树,并且成为根的子树(SubTree)。
数据结构 树的定义
树的定义:
1 n>0时根节点是唯一的,不可能存在多个根节点,别和现实中的大树混合在一起,现实中的树有很多根须,那是真实的树,数据结构中的树只能有一根节点。

2 m>0时,子树的个数没有限制,但是他们一定是不相交的,如下图中的两个结构就不符合树的定义,因为他们都有相交的子树
数据结构 树的定义
节点分类
节点的子树的根称为该节点的孩子(Child)相应地,该节点称为孩子的双亲(Parent)。同一个双亲的孩子之间互称兄弟(Sibling)。节点的祖先是根到节点所经分支上的所有节点
以某节点为根的子树中的任一节点都成为该节点的子孙。
数据结构 树的定义
树的其他相关概念
节点的层次(Level)从根开始定义起,根为第一层,根的孩子为第二层
双亲在同一层的节点互为堂兄弟,树中节点的最大层次成为树的深度(Depth)或高度
数据结构 树的定义
如果将树中的节点的各子树看成从左到右是有次序的,不能互换的,则称该树为有序树,否则成为无序树。
森林(Forest)是m(M>=0)棵互不相交的树的集合

对线性表与树的结构,他们有很大的不同
数据结构 树的定义