目录
一.树形结构
树是一种非线性的数据结构,它是由n(n>=0)个有限节点组成的一个具有层次关系的集合,把他看成一个倒挂的树,也就是说它是根部朝上,而叶朝上
*有一个特殊的结点,称为根结点,根结点没有前驱结点
*除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1、T2、......、Tm,其中每一个 集合 又是一棵与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个 后继。
*树是递归定义的
二.树的相关概念
结点的度:一个结点含有子树的个数称为该结点的度。(如图,A的度为6)
树的度:一棵树中,所有结点度的最大值称为树的度。(如图,树的度为6)
叶子结点或者终端结点:度为0的结点(例如B C H I P Q L M N )
双亲结点或者父节点:若一个结点含有子结点,则这个结点称为其子结点的父结点(A是B的父结点)
孩子结点或子结点:一个结点含有的子树的根结点称为该结点的子结点(B是A的孩子结点)
树的高度或深度:树中结点的最大层次;(树的高度为4)
根结点:一棵树中,没有双亲结点的结点;(如上图:A)
三.树的表示形式
class Node{
int value;//树中存储的数据
Node firstChild;//第一个孩子的引用
Node nextBrother;//下一个兄弟的引用
}
四.二叉树
一.二叉树的概念
一棵二叉树是结点的一个有限集合,该集合:
1. 或者为空
2. 或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。