Graph theory studies structures made of a set of vertices together with a set of edges joining pairs of them, and its vocabulary is deliberately small because that smallness permits theorems of genuine reach. A path is a sequence of distinct vertices joined in order, a cycle is a path that returns to its starting point, a graph is connected when a path joins every pair of vertices, and a tree is a connected graph containing no cycles, so that a graph on n vertices with n minus one edges is a tree exactly when it is connected, an equivalent restatement that supports induction on the number of vertices. Every connected graph has a spanning tree, because a connected graph that contains a cycle has an edge whose removal leaves it connected, so cycles can be peeled away until none remain, and the number of spanning trees is a well studied invariant with the matrix tree theorem as its principal tool. The handshake lemma, that the sum of all vertex degrees is twice the number of edges, is the workhorse of counting arguments, and it proves, for instance, that a graph cannot have exactly one vertex of odd degree in each of several components and hence that the familiar problem of crossing bridges at most once has the parity obstruction that makes it unsolvable for all odd degrees. Trees organize data throughout computing, since directory hierarchies, syntax trees in compilers, ordered search trees, routing structures in networks, and the search trees of decision procedures all exploit the fact that a tree on n vertices can be searched for a marked vertex with at most n comparisons and traversed without recursion using an explicit stack, which matters for machines of bounded stack depth. Trees also encode combinatorial identities, because the number of labeled trees on n vertices is n raised to the power n minus two, a formula of Cayley, and the Catalan numbers, which count rooted planar structures such as balanced parentheses and binary search trees, arise from the same source. Planar graph theory and the Euler formula form a closely tied pair, since for a connected graph drawn without crossings with v vertices, e edges, and f regions including the unbounded outer region the identity v minus e plus f equals two, proved by observing that a tree has one region and that adding an edge without crossings splits one region into two. The formula constrains density, because each face has at least three edges gives the bound e at most three v minus six, and any graph exceeding that bound is necessarily nonplanar, which immediately rules out the complete graph on five vertices. The Kuratowski characterization strengthens this into a complete statement, that a graph is planar if and only if it contains no subgraph homeomorphic to K five or to K three three, and the four color theorem, proved with computer assistance in the 1970s, settles that a planar graph may be colored with at most four colors so that adjacent vertices differ, improving a century old argument of Kempe for five colors. Planarity also constrains engineering layout directly, since crossing number minimization governs printed wiring and circuit boards and explains why some interconnection networks cannot be drawn in a plane at all without introducing three dimensional topology. Traversal order carries meaning as well, since a depth first search of a tree produces a linear order in which every subtree is contiguous, and that observation is what makes output buffering for recursive printers so simple, while a breadth first search assigns levels and therefore shortest path distances in an unweighted graph, which is how unweighted route planning and the layered structure of a network are analyzed. Weight introduces optimization, and minimum spanning trees are computed greedily either by Kruskal's method with a disjoint union structure or by Prim's method with a priority queue, with the correctness of both resting on the cut property that a lightest edge across any cut belongs to some minimum spanning tree. Coloring generalizes the planar result and serves as a model of scarce resource allocation, since the chromatic number bounds how many registers a compiler needs for an expression tree, bounds the number of channels a frequency assignment can use, and appears in scheduling theory as the length of a longest odd cycle. Extremal questions round out the subject, with Turan's theorem determining the largest number of edges in a triangle free graph and the Erdos Renyi random graph model describing the sharp threshold below which a property such as connectivity appears with high probability and above which it appears with low probability, a threshold whose location has become a template for rigorous reasoning in random structures.