简介
定义树的一种自然的方式是递归。一般的树:
一棵树是N个节点和N-1条边的集合。
树叶(leaf):没有儿子的节点。
兄弟(siblings):具有相同父亲的节点。用类似的方法可以定义祖父(grandparent)和孙子(grandchild)关系。
节点n的深度(depth):从根节点到节点n的唯一路径的长。
节点n的高度(height):从n到一片树叶的最长路径的长。
祖先(ancestor):如果存在从n1到n2的一条路径,那么n1是n2的一位祖先。而n2是n1的一个后裔(descendant)。
真祖先(proper ancestor):先满足是祖先,如果n1不等于n2,那么n1是n2的真祖先,而n2是n1的真后裔(proper ancestor)。
路径的长是指该路径上边的条数。
树的实现
方