ABSTRACT

A tree is a connected graph containing no cycles. Trees have applications in a wide variety of disciplines, particularly computer science. For example, they can be used to construct searching algorithms for finding a particular item in a list, to store data, to model decisions and their outcomes, or to design networks. Ordered rooted trees can be used to store data or arithmetic expressions involving numbers, variables, and operations. A tree traversal algorithm gives a systematic method for accessing the information stored in the tree. A spanning tree of a graph G is a sub-graph of G that is a tree and contains every vertex of G. Spanning trees are very useful in searching the vertices of a graph and in communicating from any given vertex to the other vertices. When counting generic trees, we must be careful to distinguish among labeled trees, rooted trees, unlabeled trees, and various other objects.