树的定义 和 相关概念
树是一种非线性的数据结构。
如下图所示:
树的结点包含一个数据及若干指向子树的分支。
结点拥有的子树数称为结点的度,也就是该节点上分支的数目。
度为0的结点称为叶结点
度不为0的结点称为分支结点
树的度定义为所有结点中的度的最大值
如下图所示
结点的直接后继称为该结点的孩子。
相应的,该结点称为孩子的双亲。
结点的孩子的孩子的……称为该结点的子孙
相应的,该结点称为子孙的祖先。
同一个双亲的孩子之间互称兄弟
如下图所示:
结点的层次
根为第1层
根的孩子为第2层
……
树中结点的最大层次称为树的深度或高度。
如下图所示:
如果树中结点的各子树从左向右是有次序的,子树间不能互换位置,则称该树为有序树,否则为无序树。
森林是由 n ( n ≥0 ) 棵互不相交的树组成的集合。
如下图所示:
树的函数操作
一些常用的操作:
1、创建树
2、销毁树
3、清空树
4、插入结点
5、删除结点
6、获取结点
7、获取根结点
8、获取树的结点数
9、获取树的高度
10、获取树的度
树在程序中表现为一种特殊的数据类型。
树的操作在程序中的表现为一组函数。
小结
在一些情况下,线性结构可看作特殊的树结构。