实现树的一种方法是在每一个结点除数据外还要有一些链,来指向该结点的每一个儿子。然而,由于每个结点的儿子数可能变化很大并且事先不知道,因此在数据结构中建立到各儿子结点的直接链接是不可行的,因为这样会产生太多浪费的空间。实际上解法很简单:将每个结点的所有儿子结点都放在树结点的链表中。下面是一个非常典型的声明。
struct TreeNode
{
Object element;
TreeNode * firstchild;
TreeNode * nextSibling;
};
上述结构表示的树的第一个儿子/下一个兄弟的表示法