树
顺序表、单链表和双链表是一种一对一的线性结构,树则是一对多的数据结构。
定义
树(Tree)是n(n >= 0)个结点的有限集。n = 0时称为空树。在任意一颗非空树中:
-
有且仅有一个特定的称为根的结点
-
当n > 1时,其余结点可分为m(m > 0)个互不相交的有限集T1、T2、······、Tm,其中每一个集合本身又是一颗树,并且称为根的子树
结点分类
树的结点包括一个数据元素以及若干个指向其子树的分支。结点拥有的子树的数量称为结点的度。
度为0的结点称为叶结点或终端结点,度不为0的结点称为非终端结点或分支结点。
除根结点外,分支结点也称为内部结点
树的度是树内各结点的度的最大值,如上图,树的度为B结点的度为3
结点间关系
结点的子树的根称为该结点的孩子,相应的该结点称为孩子的双亲
同一个双亲的孩子之间互称为兄弟。
结点的祖先是从根到该结点所经分支上的所有结点
以某结点为根的子树中的任一结点都称为该结点的子孙
结点的层次
结点的层次从根开始定义起,根为第一层,根的孩子为第二层以此类推
双亲在同一层的结点互为堂兄弟
树中结点的最大层次称为树的深度或高度,上图树的深度为5
来源:oschina
链接:https://my.oschina.net/u/4892247/blog/4810703