一、树的定义及一些基本术语
树:树是一类重要的非线性数据结构,是以分支关系定义的层次结构
树的一些基本术语:
- 结点(node)——树中的元素,包括数据项及若干指向其子树的分支
- 结点的度(degree)——结点拥有的子树数
- 树的度——一棵树中最大的结点度数
- 叶子(leaf)——度为0的结点
- 孩子(child)——结点子树的根称为该结点的孩子
- 双亲(parents)——孩子结点的上层结点
- 兄弟(sibling)——同一双亲的孩子
- 结点的层次(level)——从根结点算起,根为第一层,它的孩子为第二层……
- 树的深度(depth)/高度——树中结点的最大层次数
- 森林(forest)——m(m0)棵互不相交的树的集合
- 子孙——一个结点所有子树中的结点。
- 祖先——从根结点到达某结点路径上的所有结点。
- 有序树/无序树——如果一棵树中结点的各子树从左到右是有次序的,即交换了某结点各子树的相对位置, 则构成不同的树,那么称该树为有序树。反之,为无序树。
- 基本形态
二、二叉树(重点)
- 定义:二叉树是n>=0个结点的有限集,它或为空树(n=0),或由一个根结点和两棵分别称为左、右子树的互不相交的二叉树构成
- 特点:度为2的有序树
- 基本形态