树是一种递归定义的数据结构
任何一个树都可以看作由根结点和若干子树所构成的
非空树的特性:
有且只有一个根结点
没有后继结点称为叶子结点
有后继结点称为分支结点
除了根结点之外,如何一个结点都有且仅有一个前驱
每个结点可以有0个或多个结点
空树:结点数为的树
结点的层次(深度)--从上往下数
结点的高度--从下往上数
树的高度--总共多少层
节点的度--有几个孩子
树的度--各个结点度的最大值
有序树--从逻辑上看,树中结点的各个子树从左到右是有次序的,不能互换
无序树--从逻辑上看,树中结点的各个子树从左到右是无次序的,可以互换
性质:
1.结点数=总度数+1
2.度为m的树和m叉树
(1)度为m的树
任意结点的度小于等于m
至少有一个结点的度为m
一定是非空树
(2)m叉树
任意结点的度小于等于m
允许所有结点度都小于m
可以是空树
3.度为m的树第i层至多有
个结点
m叉树第i层至多有
个结点
4.高度为h的m叉树至多有
个结点
5.高度为h的m叉树至少有h个结点
高度为h、度为m的树至少有h+m-1个结点
6.具有n个结点的m叉树的最小高度为log m (n(m-1)+1)