一.什么是树结构?
树(Tree)结构是一种描述非线性层次关系的数据结构。树是n个数据结点的集合,在该集合中包含一个根结点,根结点下分布着一些互不交叉的子集合,这些子集合是根结点的子树。
树结构的基本特征如下:
- 在一个树结构中,有且仅有一个结点没有直接前驱,这个结点就是树的根结点。
- 除根结点外,其余每个结点有且仅有一个直接前驱。
- 每个结点可以有任意多个直接后继。
- 一个树结构也可以是空,空树没有数据结点,也就是一个空集合。
- 如果树结构中仅包含一个结点,那么这也是一个树,树根便是该结点自身。
二.树的基本概念
1.父结点和子结点:一个节点含有的子树的根节点称为该节点的子节点,相应的,该结点称为其子结点的父结点。
2.兄弟结点:具有同一父结点的子结点。
3.结点的度:一个节点所包含子树的数量。
4.树的度:是该树所有结点中最大的度。
5.叶结点:树中度为零的结点称为叶结点或终端结点。
6.分支结点:树中度不为0的结点称为分支结点或非终端结点。
7.结点的层数:结点的层数从树根开始计算,根结点为第1层,依次向下为第2、3、......、n层(树是一种层次结构ÿ