树型结构是一类重要的非线性数据结构。
其中以树和二叉树最为常用。
直观来看,树是以分支关系定义的层次结构。
树是n个结点的有限集。
树的结点包含一个数据元素及若干个指向其子树的分支。
结点拥有的子树数称为结点的度。
度为0的结点称为叶子或者终端结点。
度不为0的结点称为非终端结点或分支结点。
除根结点之外,分支结点也称为内部结点。
树的度是树内各结点的度的最大值。
结点的子树称为该结点的孩子,相应地,该结点称为孩子的双亲。
同一个双亲的孩子之间互称兄弟。
结点的祖先是从根到该结点所经历分支上的所有结点。
以某个结点为根的子树都称为该结点的子孙。
结点的层次从根开始定义,根为第一层,根的孩子为第二层。
树中结点的最大层次称为树的深度或高度。
其双亲在同一层的结点称为堂兄弟。
如果将树中的结点的各子树看成从左到右是有次序的,则称该树为有序树。
否则称为无序树。
在有序树种最左边的子树称为根的第一个孩子,最右边的称为最后一个孩子。
森林是m(m>=0)棵互不相交的树的集合。
对树中每个结点而言,其子树的集合即为森林。
由此,也可以森林和树相互递归的定义来描述树。