一、树的基本概念
1、树的定义
有且仅有一个特定的称为根的结点。
当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,并且称为根的子树。
显然,树的定义是递归的,即在树的定义中又用到了自身,树是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点:
树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱。
树中所有结点可以有零个或多个后继。
2、树的性质
树具有如下最基本的性质:
树中的结点数等于所有结点的度数加1.
度为m mm的树中第i ii层上至多有m i − 1 m^{i-1}m
i−1
个结点(i > = 1 i>=1i>=1)
高度为h hh的m mm叉树至多有( m h − 1 ) / ( m − 1 ) (m^h-1)/(m-1)(m
h
−1)/(m−1)个结点。
具有n nn个结点的m mm叉树的最小高度为[ l o g m ( n ( m − 1 ) + 1 ) ] [log_m(n(m-1)+1)][log
m(n(m−1)+1)]。