树的基本概念

父结点、子结点: 

兄弟结点: 具有同一父结点的结点

结点的度: 一个结点包含子树的数量

树的度: 该树所有结点中最大的度

叶结点: 树中度为0的结点

分支结点: 树中度不为0的结点

结点的层数: 根结点第一层,依次向下

树的深度: 树中结点的最大层数

有序树: 树中各结点的子树是按照一定次序从左到右排列的

无序树: 非有序树

森林(forest): n 颗互不相交的树的集合

层次括号法:

    根结点放在一对圆括号中;

    根结点的子树由左到右的顺序放入括号中;

    子树处理同上。

(A(B(E)),C(F(G)),D(H,I))

任意的树都可以转换成对应的二叉树。转换规则: 将结点的孩子放在左子树,结点的兄弟放在右子树

树的基本概念

满二叉树: 在二叉树中除最下层的叶结点外,每层的结点都有两个子结点。

完全二叉树: 二叉树中除最后一层外,其它各层的节点数都达到最大个数,且最后一层叶结点按照从左到右的顺序连续存在,只缺最后一层右侧若干结点。

完全二叉树的性质:

   若树中包含n个结点,假设这些结点按照顺序方式存储,那么对于任意一个结点m来说

    ① 如果m!=1,则m的父结点编号为m/2

    ② 如果2*m<=n,则结点m的左子树根结点的编号为2*m。反之,则无左子树,也无右子树

    ③ 如果2*m+1<=n,则结点m的左子树根结点的编号为2*m+1。反之,则无右子树

顺序存储方式一般只适用于完全二叉树的情况,对于其他情况,一般采用链式存储方式