树是n(n>=0)个结点的有限集合,是一种递归定义的数据结构
重要术语:根结点、分支结点、叶子结点、边、空树(结点数为0的树)、子树
一、基本性质
非空树的特点:
1.有且仅有一个根节点
2.叶子结点没有后继(终端结点)
3.除根结点外,其他结点有且仅有一个前驱节点
结点之间的关系描述:
1.祖先结点(从该结点往前的所有前驱结点)
2.子孙结点(从该节点往后的所有后继结点)
3.双亲结点(父结点,唯一直接前驱)
4.孩子结点(直接后继)
5.兄弟结点(前驱结点相同的多个结点)
6.堂兄弟结点(同一层位置除兄弟结点以外的结点)
7.路径(单向,从上往下)
8.路径长度(经过的边的条数)
结点、树的属性描述
1.结点的层次(深度):从上往下数第几层,默认从1开始,有些教材从0开始
2.结点的高度:从下往上数第几层
3.树的高度(深度):整个树的层数
4.结点的度:分支数(有几个孩子)
5.树的度:各个结点的度的最大值
有序树和无序树
有序树:树中结点的各子树从左往右是有次序的,不能交换 家谱图
无序树:树中结点的各子树从左往右是没有次序的,可以交换
森林
m(m>=0)棵互不相交的树的集合
二、常考性质:
1.结点数 = 总度数 + 1
2.树的度m:各结点的度的最大值为m 一定有一个结点有m个孩子
m叉树:每个结点最多只能有m个孩子 可以存在没有一个结点有m个孩子的情况
3.度为m的树第i层最多有m的i-1次方个结点(i>=1)
4.高度为h的m叉树至多有 (m的k次方-1) / (m-1)个结点
5.高度为h的m叉树至少有h个结:每层只有一个结点
高度为h、度为m的树至少有 h+m-1 个结点:只有一个分支结点有m个孩子
6.具有n个结点的m叉树的最小高度为 (向上取整)