# Graph (graph theory)

In graph theory, a **graph** is a (usually finite) nonempty set of vertices that are joined by a number (possibly zero) of edges. Graphs are frequently represented graphically, with the vertices as points and the edges as smooth curves joining pairs of vertices.

*An image is supposed to go here. You can help us out by creating one and editing it in. Thanks.*

Formally, a graph is a pair, , of a set of vertices together with a class of subsets made up of pairs of elements from . Note that this definition describes *simple, loopless* graphs: there is at most one edge joining two vertices, no edge may join a vertex to itself, and the edges are not directed. For graphs with multiple edges, see multigraph. If the edges are directed, then may be defined using ordered pairs from the product set .

## Contents

## Definitions

- If , and then we say and are
*incident.*If and we say the edges and are*coincident*at . - The number of edges in containing is the
*degree*of and is often denoted . - A vertex is
*isolated*if , i.e. if there are no edges incident to . - If and are graphs such that and then we say is a
*subgraph*of . If (informally, if contains all those edges of whose vertices are in ) then we say that is an*induced subgraph*of .

## Types of Graphs and Subgraphs

### Complete Graph or Clique

A *complete graph* is a graph in which there is an edge joining every pair of vertices is connected. The complete graph on vertices is denoted , and has edges. If is a complete subgraph of then the vertices of are said to form a *clique* in .

### Complementary Graphs

If and are two graphs on the same vertex set such that is a complete graph and then is said to be the *complement* of and vice-versa.

### Null Graph or Independent Set

A *null graph* (or *independent set*) is the complement of a complete graph. Equivalently, a null graph is a graph in which every vertex is isolated. When drawn in the usual fashion, a null graph is simply a collection of scattered points (the vertices) with no edges connecting them. The terminology "independent set" is used most frequently to refer to a subgraph. In other words, one says is an independent set in if and only if is a clique in the complement of .

### Connected Graph

An undirected graph is *connected* if for all , there exists a path from to using only edges in . That is, there are no isolated vertices with no paths coming from them, nor can the vertex set be partitioned into two parts with no edge between them. A related concept is a *connected component*, which is a maximally connected subgraph of a graph.

### Strongly Connected Graph

A directed graph is *strongly connected* if for all , there exists a *directed* path from to using only edges in .

### Planar Graphs

A graph is said to be planar if it can be drawn in a plane with no intersecting edges. For example, and are planar, but and are not planar.

*An image is supposed to go here. You can help us out by creating one and editing it in. Thanks.*

In a planar graph, we can define faces of the graph, or the smallest regions bounded by edges. (An alternate definition is the regions bounded by edges which do not have any edges going through them.) Note that the area outside the planar graph is also a face, called the unbounded face. The degree of the face is the number of edges that bound the face. (Note that the same term is used for vertices, which can become confusing)

All planar graphs have dual graphs, which involve turning the planes of one graph into vertices, and the vertics into planes, with edges connecting if two planes are adjacent. The dual of the dual of a graph is returns the original graph.

An interesting result is Euler's Polyhedral Formula, which states that in a planar graph with vertices, edges, and faces, then The proof of this is simple using induction, but the derivation of the formula is much trickier.

Other interesting results for planar graphs are that:

- if the the sum of the degrees of the faces of the graph is , then .

### Bipartite graph

A graph is called *bipartite* if its vertex set can be split into two disjoint subsets and such that every edge connects a vertex in to a vertex in (by this definition, the empty graph on vertices is bipartite). A graph is bipartite if and only if it has no odd cycles, if and only if is 2-colorable. Bipartite graphs have many applications including matching problems.

The *complete bipartite graph* (denoted for integers and ) is a bipartite graph where , , and there is an edge connecting every to every (so that has edges).

## Walks

A walk is the general process of moving along the edges of a graph. A path does not go through any vertex more than once, while a trail does not go through any edge more than once

### Paths and Cycles

A *path* in a graph is a sequence such that , and for all . A *cycle* is a path in which the initial and final vertices are the same.

### Euler Trail

A Euler trail is a graph where it is possible to form a trail which uses all the edges. A Euler trail has at most two vertices with odd degrees. The sum of all the degrees of the vertices equals twice the number of edges in the graph.

### Trees and Forests

A *forest* is a graph which does not have any cycles. A * tree* is a connected forest.

## Weighted Graphs

The edges of a graph can have weights assigned to them that represent some value or "cost" (such as distance). For example, Dijkstra's algorithm, which computes the shortest path from a source vertex to all vertices in , runs on a graph whose edge weights are non-negative.

## Hypergraph

A hypergraph is an extension of the concept of a graph where the edges can encompass more than two vertices, and essentially become sets themselves. Hypergraph theory is often difficult to visualize, and thus is often studied based on the sets that make it up.