基本概念
空树:
结点数为0
非空树:
有且仅有一个根节点
叶子结点(终端节点):没有后继的结点
分支结点(非终端结点):有后继的结点
除了根结点,任何结点有且仅有一个前驱
每个结点可以有0或多个后继
结点之间关系
祖先、子孙、双亲、父、孩子、兄弟(一个爹的)、堂兄弟
路径(只能从上往下)、路径长度(经过几条边)
属性的描述
结点的层次(深度)——从上往下数 ,默认从1开始
结点的高度——从下往上数 ,默认从1开始
结点的度——有几个孩子
树的度——各结点度的最大值
有序树和无序树
有序树:结点的各子树从左至右有次序,不能互换
无序树:结点的各子树从左至右无次序,可以互换
森林
m棵互不相交的树的集合
常考性质
1. 结点数 = 总度数+1
2. 度为m的树、m叉树区别
度为m的树 | m叉树 |
---|---|
任意结点的度<=m,(最多m个孩子) | 任意结点的度<=m,(最多m个孩子) |
至少一个结点度=m | 允许所有结点度都<m |
一定是非空树,至少有m+1个结点 | 可以是空树 |
3. 度为m的树第i层至多有 m i − 1 m^{i-1} mi−1个结点
4. 高度为h的m叉树最多有 m h − 1 m − 1 \frac{m^h-1}{m-1} m−1mh−1个结点
等比数列求和,把每一层加起来
5.
高度为h的m叉树最少有h个结点
高度为h的度为m的树最少有h+m-1个结点