Trees need not be binary. In general a (rooted) tree can have any number of children per node. The same notions of child and parent and height still make sense (at least if the tree is finite). One major example are Unix-style file systems, where there is a "root" directory, whose children usually include a "user" directory which in turn contains directories for each user, in each of which are subdirectories and data files that the user puts there. There are also unrooted trees, but we shall not discuss those here. A graph -- in the discrete math sense -- consists of a set of "vertices" and a set of "edges" where an edge "connects" two vertices. Thus a tree is a kind of graph (but in a tree we tend to call the vertices nodes instead). Graphs were introduced by Euler in 1736 (see page 493) in connection with the popular puzzle about paths and bridges in Konigsberg. Euler found that the number of edges touching any particular vertex (the "degree" of the vertex) is the crucial fact for that puzzle. Degree is also key to understanding the "handshake theorem": if everyone at a party keeps track of the number of other people they shake hands with, then the sum of all those numbers must be even. Fibonacci numbers: 1 1 2 3 5 8 13 21 34 55 ... where each F_n+2 = F_n+1 + F_n. They were introduced by Fibonacci in the year 1202. This peculiar recurrence formula has many surprising applications. Among them is a strong connection with the so-called "golden ratio" from ancient Greece (approx 500 BCE): F_n = { [(1+sqrt(5))/2]^n - [(1-sqrt(5))/2]^n } / sqrt(5) where (1+sqrt(5))/2 is the golden ratio.