树和森林的定义
树和二叉树一样,也是一种多层次的数据结构,并且树中每个结点可以存在多个分支,因此它的应用领域更广。
树是 n(n>=0) 个数据元素(结点)的有限集D,若D为空集则为空树,否则: (1), D中存在唯一的称为根的数据元素称为 root。(2), 当 n > 1时,其余结点可以分成 m 个互不相交的有限集,其中每个子集都符合树的定义,并成为 root 的子树。
关于二叉树的各个术语都可以类似的对树进行定义。由于树中子树个数没有限定,所以树还有一个新的术语——“树的度”。定义为一棵树中各结点度的最大值称为该树的度。(二叉树中结点的度最大为2)。
二叉树和树是两种不同的树形结构。在树中,上一层与下一层之间只有“父-子”的关系,没有严格的次序。而在二叉树中,存在“父-左子”和“父-右子”两种关系,并且必须分清是哪一种关系即严格的左右关系。一般情况下,在树种不讨论子树之间的次序关系,称为无序树;而在有些问题种需要明确序位关系,称为有序树。