在数据结构中树与二叉树部分的内容是非常重要的,所以对树的性质进行推导,加深理解。
性质1:树中的结点数等于所有结点的度数加1
每个结点的度数分别对应结点的子结点,所有结点的度数为b,因此结点数n = b +根节点,即n = b + 1.
性质2:度为m的树中第i层上至多有mi-1个结点(i>=1)
本性质采用数学归纳法进行证明:
1)当树为第一层时,第一层至多有m0=1个结点
2)当树为第i-1层时,由该性质值第i-1层至多有mi-2个结点
3)当树为第i层时,由于树的度为m,可知每个第i-1层的每个结点至多有m个子结点,因此第i层至多有mi-2*m=mi-1个结点。
因此性质得证。
性质3:高度为h的m叉树至多有(mh-1)/(m-1)个结点
由性质2可知,度为m的数第i层至多有mi-1个结点,因此高度为h的m叉树至多有n = m0+m1+…+mh-1个结点,用等比数列公式求和,可以得到n= (mh-1)/(m-1).
性质4:具有n个结点的m叉树的最小高度为⌈logm(n*(m-1)+1)⌉
性质4是由性质3逆推得到,由得到最小高度可知树的每一层都具有最多结点。由于高度为整数,且多余结点也是一层,因此树的高度需要向上取整。