树的基本定义与基本结构

   在非线性数据结构中,树是其中很重要的一部分。相较于链表,队列,栈,串等数据结构,树的基本操作相对较为复杂,同时也更加难以理解。

   树是具有n个结点的有限集,同时也具有多个重要的名词需要掌握,在了解树的相关名词后,需要掌握最简单的一种名为“二叉树”的树形结构,掌握二叉树的结构以及基本操作后,必须了解其他类型的树与森林的相互转化。

  先行了解关于树的几个名词:

(1)树的结点

在树的图形表示中,结点包含一个数据元素以及其他若干指向其子集合的分支

(2)根

在任意一棵非空树中,根节点是这个非空树中其他结点的唯一的结构发起点,结点之间按层次互相连接。按照层次一直向上寻找,一直到达所有结点的发起结点。这个结点称作这棵非空树的根结点。

(3)子树

由根结点发出的,延伸向下的树的子集称作这棵树的子树(具有直线与其他结点相连),与概念(2)一同值得注意的是,只要存在一个结点可以向下延伸出子集,这个结点便可以称作这棵子树的根节点。

(4)度

某个节点拥有的子树数目(向下与其他结点连接的直线数目)

(5)叶子/终端结点

度为0的结点(不具有子树的结点)

(6)孩子与双亲

结点的子树的根(与结点直接相连的结点)称作该结点的孩子结点。同样地,该结点称作其孩子结点的双亲结点

(7)兄弟

具有同一个双亲结点的结点互相称作兄弟结点

(8)层

由根结点开始定义,根结点定义为第1层,根结点的孩子结点定义为第2层。由于根结点到任意结点的路径是唯一的,假设根结点到某一结点经过的结点数目为l,则该结点所处的层数为l+1。双亲在同一层的结点互相称作堂兄弟结点。

(9)树的深度

树中结点的最大层数称作树的深度。

结合以下图片,根据概念得出多项结论:

(1)这棵树的结点以A~L进行表示

(2)这棵树的根结点为A,结点B,D,E,F,K是子树的根结点

(3)树B,C,D为树A的子树,树E,F为树B的子树

(4)以ABCD结点为例,A结点的度为3,B结点的度为2,C结点的度为0,D结点的度为3

(5)这棵树的叶子结点为C,J,L,G,H,I

(6)以ABCD结点为例,BCD结点为A的孩子结点,A为BCD结点的父节点

(7)EF互为兄弟结点,GHI互为兄弟结点

(8)以根结点所在的深度记为第1层,BCD结点的层数为2,EFGHI的层数为3,JK的层数为4,L的层数为5  

(9)L的层数是树之中最大的,记作5,同时也是树的深度

猜你喜欢

转载自blog.csdn.net/qq_38846633/article/details/81775335