未经本人同意,禁止转载
树与二叉树
第一节 树的基础知识
基础概念(4条)
- 树是n(n≥0)个结点的有限集合;n=0时,称为空树,这是一种特殊情况。
- 任意一棵树非空树都应该满足:
1.有且只有一个根结点 2.当n > 1时,其余结点可分为m(m > 0)个互不相交的有限集合T1,T2 ,…,Tm ,其中每个集合本身又是一棵树,并且称为根结点的子树。
- 根结点没有前驱,除根结点外的所有结点都有前驱
- 所有结点可以有零个或多个后继
基本术语(4条)
-
结点之间的关系(套用血缘关系方便理解)
祖先结点 子孙结点 双亲结点(父结点) 孩子结点 兄弟结点 堂兄弟结点
-
结点、树的属性(重点)
结点的度和树的度概念必须掌握.
结点的层次: 从根节点开始自顶向下逐层累加 结点的高度: 从叶子结点开始自底向上逐层累加 结点的度: 树中一个结点的孩子的个数 树的高度(或深度): 树中结点的最大层数 树的度: 树中结点的最大度数
-
有序树、无序树
有序树: 逻辑上,树中结点的各个子树从左往右是有次序的,不能互换 无序树: 逻辑上,树中结点的各个子树(从左往右)是无次序的,可以互换
-
森林 是m(m≥0)棵互不相交的树的集合。
树的性质(5条)
-
树中的结点数等于所有结点的度数加1
方便记忆: 节点数=总度数+1
-
度为m的树和m叉树的区别
树的度——各结点的度的最大值
m叉树——每个结点最多只能有m个孩子的树度为m的树 m叉树 任意结点的度≤m(最多m个孩子) 任意结点的度≤m(最多m个孩子) 至少有一个结点度=m(有m个孩子) 允许所有结点的度都<m 一定是非空树,至少有m+1个结点 可以是空树 -
度为m的树中第i层上至多有mi-1个结点
方便记忆: m叉树第 i 层至多有mi-1个结点 (记住m叉树的就能想起度为m的树)
-
高度为h的m叉树至多有(mh -1)/(m-1)个结点
-
具有n个结点的m叉树的最小高度为 l o g m ( n ( m − 1 ) + 1 ) log_m (n(m-1)+1) logm(n(m−1)+1)