树是由n(n>=0)个结点(或元素)组成的有限集合。
若n=0,它是一棵空树,这就是树的特例;
如果n>0,这n个结点中有且仅有一个结点作为树的**根结点**,简称为**根**,其余结点可分为m(m>=0)个互不相交的有限集T1,T2,……,Tm,其中每个子集本身又是一棵符合本定义的树,称为根结点的**子树**。
树中某个结点的子树的个数称为该结点的度。树中所有结点的度的最大值称为树的度。通常将度为m的树称为m次树。
树中度不为零的结点称为非终端结点,又叫分支结点。度为零的结点称为叶子结点。
对于树中任意的两个结点ki和kj,若树中存在一个结点序列(ki,ki1,ki2,……,kin,kij),使得序列中除ki以外的任一结点都是其在序列中的前一个结点的后继结点,则称该结点序列为由ki到kj的一条路径。路径长度是该路径所通过的结点数目减1(即路径上分支数目)。
在一棵树中,每个结点的后继结点被称为该结点的孩子结点。相应地,该结点被称为孩子结点的双亲结点。具有同一个双亲结点的孩子结点互为兄弟节点。
树中的每个结点都处在一定的层次上。结点层次或结点深度是从树根开始定义的。根节点为第一层,它的孩子结点为第二层,依此类推,一个结点所在的层次为其双亲结点的层次加1.树中结点的最大层次依次称为树的高度或树的深度。
若数中各结点的子树是按照一定的次序从左向右安排的,且相对次序是不能随意变换的,则称为有序树,否则称为无序树。
n个互不相交的树的集合称为森林。
二叉树是一个有限的结点集合,这个集合或者为空,或者由一个根结点和两棵互不相交的称为左子树和右子树的二叉树组成。
原文:https://www.cnblogs.com/zhengwenhua/p/14723359.html