树(Tree)是n(n>=0)个节点的有限集,当n=0时称为空树。在任意一颗非空树中:(1)有且仅有一个特定的称为根(Root)的节点,(2)n>1时,其余节点可分为m(m>0)个互不相交的有限级T1、T2。。。Tm,其中每一个集合本身又是一棵树,并且成为根的子树(SubTree)。
树的定义:
1 n>0时根节点是唯一的,不可能存在多个根节点,别和现实中的大树混合在一起,现实中的树有很多根须,那是真实的树,数据结构中的树只能有一根节点。
2 m>0时,子树的个数没有限制,但是他们一定是不相交的,如下图中的两个结构就不符合树的定义,因为他们都有相交的子树
节点分类
节点的子树的根称为该节点的孩子(Child)相应地,该节点称为孩子的双亲(Parent)。同一个双亲的孩子之间互称兄弟(Sibling)。节点的祖先是根到节点所经分支上的所有节点
以某节点为根的子树中的任一节点都成为该节点的子孙。