0x01 树
- 树:n个结点的有限集合,n=0,空树
- 任何非空树只有一个根结点
- n个结点的树只有n-1条边(除根结点,每个结点只有一个前驱,一个前驱一条边,根据这个算的)
- 有序树与无序树:有序树从左到右是有顺序的,比如下图,交换B和D,有序下面两个数不相等。无序则相同
0x02 结点
-
祖先结点:K的祖先结点时A,B,E
-
子孙结点:E的子孙结点为K、L
-
双亲结点:F的双亲结点是B(前驱是哪个)
-
孩子结点:B的孩子孩子结点时E、F
-
兄弟结点:E的兄弟结点是F
-
结点的层次:也有从第0层开始的
-
结点的高度:从叶子(1)开始,自下往上数,比如书结点B的高度为3
-
结点的深度:从根结点(1)开始,自上往下数,比如结点B的深度为2
0x03 度
- 树中一个结点的子结点的个数称为该结点的度,比如上图中B的度是2
- 树中最大的度为树的度
- 分支结点:度大于0的结点
- 叶子结点:度等于0
0x04 路径
- 路径:树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,树是分层的,所以分支是有向的,只能从双亲结点指向孩子结点,所以路径一定是从上而下的
A到E路径,E到F是没有路径的
0x05 森林
n课树的集合
0x06 性质
- 树中的结点数等于所有结点的度数加1(结点的度数是他们后继的个数,全部的后继加起来还差一个根结点就和结点数相同)
- 度为m的树中第i层上至多有mi-1个结点(最多的情况是每个结点都有m个子节点)
- 具有n个结点的m叉树的最小高度为[logm(n(m-1)+1)]