In the past few days we've written programs for different kinds of trees, and I've been using a lot of different terms in class to describe the different kinds of trees. Here's a summary of the terms you are expected to know:
fixed-width tree A tree for which each node has the same number of branches
variable-width tree (also called a hierarchy) A tree for which each node has an arbitrary number of branches
binary tree A fixed-width tree where the "width" is two (each node has two branches)
binary search tree A binary tree where each node satisfies the property that for any given node n in the tree, the nodes in n's left subtree contain values less than n, and the nodes in n's right subtree contain values greater than n
ancestor tree An ancestor tree is an example of an application that uses a fixed-width tree. An ancestor tree is a binary tree that stores information about a person and the person's ancestors (mother/father)
descendant tree A descendant tree is an example of an application that uses a variable-width tree. A descendant tree is a variable-width tree that stores information about a person and the person's descendants (children)