When we build a family tree retroactively, we often start from the child's perspective and proceed from there to parents, grandparents, etc. As we construct the tree, we write down who is whose child rather than who is whose parents. We build a descendant family tree . Drawing a descendant tree proceeds just like drawing an ancestor tree, except that all arrows are reversed.
Figure represents the same family as that of figure , but drawn from the descendant perspective.
A descendant family tree Representing these new kinds of family trees and their nodes in a computer requires a different class of data than do the ancestor family trees. This time a node must include information about the children instead of the two parents. The last three fields in a parent structure contain the same basic information as a corresponding child structure, but the contents of the first one poses an interesting question. Since a parent may have an arbitrary number of children, the children field must contain an undetermined number of nodes, each of which represents one child. The natural choice is to insist that the children field always stands for a list of parent structures.