文章目录
1.树的定义
树是n(n>=0)个结点的有限集。
1.1 空树
当n=0时,结点数为0的树为空树。
1.2非空树
1.有且仅有一个根结点。
2.没有后继的结点称为“叶子结点”(或终端结点)。
3.有后继的结点称为“分支结点”(或非终端结点)。
在这颗树中,C,D,E,F就是叶子结点。
树的根结点没有前驱,除根结点以外的所有结点有且只要一个前驱。
树中所有结点都可以有零个或多个后继。
2.树的基本术语
2.1双亲结点(通俗点,考虑家谱)
以K结点为列,K 的上一个结点是E,那么E结点就是K的父结点(双亲结点)。
2.2祖先结点
以K结点为列,那么B结点就是K的祖先结点。
2.3兄弟结点
以K结点为列,那么J结点就是K的兄弟结点。
2.4堂兄弟结点
以B结点为列,那么C结点就是B的堂兄弟结点。
2.5孩子结点
以B结点为列,那么E结点就是B的孩子结点。
2.6子孙结点
以B结点为列,那么K结点就是B的子孙结点。
2.7结点的度
树中一个结点的孩子个数称为该结点的度。
例如:E结点有两个孩子,那么E结点的度为2.
2.8树的度
树中结点的最大的度数称为树的度。
例如:A结点有两个孩子,那么A结点的度为3.同时它也是树中最大的结点度数。那么树的度为3.
2.9结点的深度
从上往下,K结点的深度为4.
2.10结点高度
从下往上,K结点的高度为1.
2.11有序树和无序树
1.有序树:树中的结点的各个子树从左到右是有次序的,不能交换。
2.无序树:可以交换结点则为无序树。
2.12路径和路径长度
1.路径:树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,而路径长度是路径上所经过的变的个数。
2.路径只能从上往下。
2.13森林
森林就是m(m>=0)课互不相交的树的集合。m^^1
3.树的性质
1.树中的结点数等于所有结点的度数之和加1.
(结点数=总度数+1)
2.度为m层的数中,第i层上至多有结点数如下。
m i − 1 m^{i-1} mi−1
3.高度h的m叉树至多有的结点数
( m i − 1 ) / ( m − 1 ) (m^{i-1})/(m-1) (mi−1)/(m−1)
4.具有n个结点的m叉树的最小的高度为
l o g m ( n ( m − 1 ) + 1 ) log_m(n(m-1)+1) logm(n(m−1)+1)
推理过程:高度最小的情况–所有的结点都要m个孩子。
( 前 h − 1 层最多结点 ) ( m h − 1 − 1 ) / ( m − 1 ) < n < = ( m h − 1 ) / ( m − 1 ) ( 前 h 层最多结点 ) (前h-1层最多结点)(m^{h-1}-1)/(m-1)<n<=(m^{h}-1)/(m-1)(前h层最多结点) (前h−1层最多结点)(mh−1−1)/(m−1)<n<=(mh−1)/(m−1)(前h层最多结点)
m h − 1 − 1 < n ( m − 1 ) < = m h − 1 m^{h-1}-1<n(m-1)<=m^{h}-1 mh−1−1<n(m−1)<=mh−1
m h − 1 < n ( m − 1 ) + 1 < = m h m^{h-1}<n(m-1)+1<=m^{h} mh−1<n(m−1)+1<=mh
所以推理出:
h − 1 < l o g m ( n ( m − 1 ) + 1 ) < = n h-1<log_m(n(m-1)+1)<=n h−1<logm(n(m−1)+1)<=n
觉得我回答有用的话,记得点个关注哟!谢谢支持!