1.1 简单认识树
在生活中,有杨树,石榴树,枣树,而在计算机中的树呢,是一种非线性结构,是由 n(n>=0) 个有限节点组成一个具有层次关系的集合。当 n==0 也就是没有节点的树,我们称为空树!
这里我们要注意几点:
树的根节点为最顶层的节点,根节点没有前驱
除了根节点之外,其余节点被分为 M(M>0) 个不相交的集合,又是一棵树,我们把这种树称为子树,每棵子树的根节点有且只有一个前驱,可以有0个或者多个后继
树是递归定义的
注意:在树型结构中,子树之间不能相交,比如上图中如果 B 与 C 有相交关系了,也就是他俩连起来了,那么这就不能称之为树!
非终端节点或分支节点:度不为0的节点,也就是有孩子的节点,都为非终端节点,如上图A B D F。
兄弟节点:具有相同父节点的节点为兄弟节点,如上图 E 和 F 互为兄弟节点。
堂兄弟节点:父节点在同一层的节点互为堂兄弟,如上图 F 和 G 互为堂兄弟节点。
祖先节点:从根到该节点所经分支上的所有节点,都为该节点的祖先节点,如上图 A 是所有节点的祖先节点。
子孙:以某节点为根的子树中任意一个节点都称为该节点的子孙,如上图 F 是 A 的子孙节点,也是 B 的子孙节点。
森林:由m(m>=0) 颗互不相交的树组成的集合叫做森林,一棵树也可以叫做森林。