
In
discrete mathematics
Discrete mathematics is the study of mathematical structures that can be considered "discrete" (in a way analogous to discrete variables, having a bijection with the set of natural numbers) rather than "continuous" (analogously to continuous f ...
, particularly in
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
, a graph is a structure consisting of a
set
Set, The Set, SET or SETS may refer to:
Science, technology, and mathematics Mathematics
*Set (mathematics), a collection of elements
*Category of sets, the category whose objects and morphisms are sets and total functions, respectively
Electro ...
of objects where some pairs of the objects are in some sense "related". The objects are represented by abstractions called ''
vertices'' (also called ''nodes'' or ''points'') and each of the related pairs of vertices is called an ''edge'' (also called ''link'' or ''line'').
Typically, a graph is depicted in
diagrammatic form as a set of dots or circles for the vertices, joined by lines or curves for the edges.
The edges may be directed or undirected. For example, if the vertices represent people at a party, and there is an edge between two people if they shake hands, then this graph is undirected because any person ''A'' can shake hands with a person ''B'' only if ''B'' also shakes hands with ''A''. In contrast, if an edge from a person ''A'' to a person ''B'' means that ''A'' owes money to ''B'', then this graph is directed, because owing money is not necessarily reciprocated.
Graphs are the basic subject studied by graph theory. The word "graph" was first used in this sense by
J. J. Sylvester in 1878 due to a direct relation between mathematics and
chemical structure
A chemical structure of a molecule is a spatial arrangement of its atoms and their chemical bonds. Its determination includes a chemist's specifying the molecular geometry and, when feasible and necessary, the electronic structure of the target m ...
(what he called a chemico-graphical image).
Definitions
Definitions in graph theory vary. The following are some of the more basic ways of defining graphs and related
mathematical structure
In mathematics, a structure on a set (or on some sets) refers to providing or endowing it (or them) with certain additional features (e.g. an operation, relation, metric, or topology). Τhe additional features are attached or related to the ...
s.
Graph

A graph (sometimes called an ''undirected graph'' to distinguish it from a
directed graph, or a ''simple graph'' to distinguish it from a
multigraph) is a
pair , where is a set whose elements are called ''vertices'' (singular: vertex), and is a set of unordered pairs
of vertices, whose elements are called ''edges'' (sometimes ''links'' or ''lines'').
The vertices and of an edge are called the edge's ''endpoints''. The edge is said to ''join'' and and to be ''incident'' on them. A vertex may belong to no edge, in which case it is not joined to any other vertex and is called ''isolated''. When an edge
exists, the vertices and are called ''adjacent''.
A
multigraph is a generalization that allows multiple edges to have the same pair of endpoints. In some texts, multigraphs are simply called graphs.
Sometimes, graphs are allowed to contain ''
loops'', which are edges that join a vertex to itself. To allow loops, the pairs of vertices in must be allowed to have the same node twice. Such generalized graphs are called ''graphs with loops'' or simply ''graphs'' when it is clear from the context that loops are allowed.
Generally, the vertex set is taken to be finite (which implies that the edge set is also finite). Sometimes
infinite graphs are considered, but they are usually viewed as a special kind of
binary relation
In mathematics, a binary relation associates some elements of one Set (mathematics), set called the ''domain'' with some elements of another set called the ''codomain''. Precisely, a binary relation over sets X and Y is a set of ordered pairs ...
, because most results on finite graphs either do not extend to the infinite case or need a rather different proof.
An
empty graph is a graph that has an
empty set
In mathematics, the empty set or void set is the unique Set (mathematics), set having no Element (mathematics), elements; its size or cardinality (count of elements in a set) is 0, zero. Some axiomatic set theories ensure that the empty set exi ...
of vertices (and thus an empty set of edges). The ''order'' of a graph is its number of vertices, usually denoted by . The ''size'' of a graph is its number of edges, typically denoted by . However, in some contexts, such as for expressing the
computational complexity of algorithms, the term ''size'' is used for the quantity (otherwise, a non-empty graph could have size 0). The ''degree'' or ''valency'' of a vertex is the number of edges that are incident to it; for graphs with loops, a loop is counted twice.
In a graph of order , the maximum degree of each vertex is (or if loops are allowed, because a loop contributes 2 to the degree), and the maximum number of edges is (or if loops are allowed).
The edges of a graph define a
symmetric relation
A symmetric relation is a type of binary relation. Formally, a binary relation ''R'' over a set ''X'' is symmetric if:
: \forall a, b \in X(a R b \Leftrightarrow b R a) ,
where the notation ''aRb'' means that .
An example is the relation "is equ ...
on the vertices, called the ''adjacency relation''. Specifically, two vertices and are ''adjacent'' if is an edge. A graph is fully determined by its
adjacency matrix , which is an square matrix, with specifying the number of connections from vertex to vertex . For a simple graph, is either 0, indicating disconnection, or 1, indicating connection; moreover because an edge in a simple graph cannot start and end at the same vertex. Graphs with self-loops will be characterized by some or all being equal to a positive integer, and multigraphs (with multiple edges between vertices) will be characterized by some or all being equal to a positive integer. Undirected graphs will have a
symmetric adjacency matrix (meaning ).
Directed graph

A directed graph or digraph is a graph in which edges have orientations.
In one restricted but very common sense of the term, a directed graph is a pair comprising:
* , a
set
Set, The Set, SET or SETS may refer to:
Science, technology, and mathematics Mathematics
*Set (mathematics), a collection of elements
*Category of sets, the category whose objects and morphisms are sets and total functions, respectively
Electro ...
of ''vertices'' (also called ''nodes'' or ''points'');
* , a
set
Set, The Set, SET or SETS may refer to:
Science, technology, and mathematics Mathematics
*Set (mathematics), a collection of elements
*Category of sets, the category whose objects and morphisms are sets and total functions, respectively
Electro ...
of ''edges'' (also called ''directed edges'', ''directed links'', ''directed lines'', ''arrows'', or ''arcs''), which are
ordered pair
In mathematics, an ordered pair, denoted (''a'', ''b''), is a pair of objects in which their order is significant. The ordered pair (''a'', ''b'') is different from the ordered pair (''b'', ''a''), unless ''a'' = ''b''. In contrast, the '' unord ...
s of distinct vertices:
.
To avoid ambiguity, this type of object may be called precisely a directed simple graph.
In the edge directed from to , the vertices and are called the ''endpoints'' of the edge, the ''tail'' of the edge and the ''head'' of the edge. The edge is said to ''join'' and and to be ''incident'' on and on . A vertex may exist in a graph and not belong to an edge. The edge is called the ''inverted edge'' of . ''
Multiple edges
In graph theory, multiple edges (also called parallel edges or a multi-edge), are, in an undirected graph, two or more edges that are incident to the same two vertices, or in a directed graph, two or more edges with both the same tail verte ...
'', not allowed under the definition above, are two or more edges with both the same tail and the same head.
In one more general sense of the term allowing multiple edges, a directed graph is sometimes defined to be an ordered triple comprising:
* , a
set
Set, The Set, SET or SETS may refer to:
Science, technology, and mathematics Mathematics
*Set (mathematics), a collection of elements
*Category of sets, the category whose objects and morphisms are sets and total functions, respectively
Electro ...
of ''vertices'' (also called ''nodes'' or ''points'');
* , a
set
Set, The Set, SET or SETS may refer to:
Science, technology, and mathematics Mathematics
*Set (mathematics), a collection of elements
*Category of sets, the category whose objects and morphisms are sets and total functions, respectively
Electro ...
of ''edges'' (also called ''directed edges'', ''directed links'', ''directed lines'', ''arrows'' or ''arcs'');
* , an ''incidence function'' mapping every edge to an
ordered pair
In mathematics, an ordered pair, denoted (''a'', ''b''), is a pair of objects in which their order is significant. The ordered pair (''a'', ''b'') is different from the ordered pair (''b'', ''a''), unless ''a'' = ''b''. In contrast, the '' unord ...
of vertices (that is, an edge is associated with two distinct vertices):
.
To avoid ambiguity, this type of object may be called precisely a directed multigraph.
A ''
loop'' is an edge that joins a vertex to itself. Directed graphs as defined in the two definitions above cannot have loops, because a loop joining a vertex
to itself is the edge (for a directed simple graph) or is incident on (for a directed multigraph)
which is not in
. So to allow loops the definitions must be expanded. For directed simple graphs, the definition of
should be modified to
. For directed multigraphs, the definition of
should be modified to
. To avoid ambiguity, these types of objects may be called precisely a directed simple graph permitting loops and a directed multigraph permitting loops (or a ''
quiver'') respectively.
The edges of a directed simple graph permitting loops is a
homogeneous relation
In mathematics, a homogeneous relation (also called endorelation) on a set ''X'' is a binary relation between ''X'' and itself, i.e. it is a subset of the Cartesian product . This is commonly phrased as "a relation on ''X''" or "a (binary) relation ...
~ on the vertices of that is called the ''adjacency relation'' of . Specifically, for each edge , its endpoints and are said to be ''adjacent'' to one another, which is denoted .
Mixed graph

A ''mixed graph'' is a graph in which some edges may be directed and some may be undirected. It is an ordered triple for a ''mixed simple graph'' and for a ''mixed multigraph'' with , (the undirected edges), (the directed edges), and defined as above. Directed and undirected graphs are special cases.
Weighted graph

A ''weighted graph'' or a ''network'' is a graph in which a number (the weight) is assigned to each edge.
Such weights might represent for example costs, lengths or capacities, depending on the problem at hand. Such graphs arise in many contexts, for example in
shortest path problems such as the
traveling salesman problem.
Types of graphs
Oriented graph
One definition of an ''oriented graph'' is that it is a directed graph in which at most one of and may be edges of the graph. That is, it is a directed graph that can be formed as an
orientation of an undirected (simple) graph.
Some authors use "oriented graph" to mean the same as "directed graph". Some authors use "oriented graph" to mean any orientation of a given undirected graph or multigraph.
Regular graph
A ''regular graph'' is a graph in which each vertex has the same number of neighbours, i.e., every vertex has the same degree. A regular graph with vertices of degree ''k'' is called a ''k''‑regular graph or regular graph of degree ''k''.
Complete graph

A ''complete graph'' is a graph in which each pair of vertices is joined by an edge. A complete graph contains all possible edges.
Finite graph
A ''finite graph'' is a graph in which the vertex set and the edge set are
finite set
In mathematics, particularly set theory, a finite set is a set that has a finite number of elements. Informally, a finite set is a set which one could in principle count and finish counting. For example,
is a finite set with five elements. Th ...
s. Otherwise, it is called an ''infinite graph''.
Most commonly in graph theory it is implied that the graphs discussed are finite. If the graphs are infinite, that is usually specifically stated.
Connected graph
In an undirected graph, an unordered pair of vertices is called ''connected'' if a path leads from ''x'' to ''y''. Otherwise, the unordered pair is called ''disconnected''.
A ''connected graph'' is an undirected graph in which every unordered pair of vertices in the graph is connected. Otherwise, it is called a ''disconnected graph''.
In a directed graph, an ordered pair of vertices is called ''strongly connected'' if a directed path leads from ''x'' to ''y''. Otherwise, the ordered pair is called ''weakly connected'' if an undirected path leads from ''x'' to ''y'' after replacing all of its directed edges with undirected edges. Otherwise, the ordered pair is called ''disconnected''.
A ''strongly connected graph'' is a directed graph in which every ordered pair of vertices in the graph is strongly connected. Otherwise, it is called a ''weakly connected graph'' if every ordered pair of vertices in the graph is weakly connected. Otherwise it is called a ''disconnected graph''.
A ''
k-vertex-connected graph'' or ''
k-edge-connected graph
In graph theory, a connected graph is -edge-connected if it remains connected whenever fewer than edges are removed.
The edge-connectivity of a graph is the largest for which the graph is -edge-connected.
Edge connectivity and the enumerat ...
'' is a graph in which no set of vertices (respectively, edges) exists that, when removed, disconnects the graph. A ''k''-vertex-connected graph is often called simply a ''k-connected graph''.
Bipartite graph
A ''
bipartite graph'' is a simple graph in which the vertex set can be
partitioned into two sets, ''W'' and ''X'', so that no two vertices in ''W'' share a common edge and no two vertices in ''X'' share a common edge. Alternatively, it is a graph with a
chromatic number of 2.
In a
complete bipartite graph, the vertex set is the union of two disjoint sets, ''W'' and ''X'', so that every vertex in ''W'' is adjacent to every vertex in ''X'' but there are no edges within ''W'' or ''X''.
Path graph
A ''path graph'' or ''linear graph'' of order is a graph in which the vertices can be listed in an order ''v''
1, ''v''
2, …, ''v''
''n'' such that the edges are the where ''i'' = 1, 2, …, ''n'' − 1. Path graphs can be characterized as connected graphs in which the degree of all but two vertices is 2 and the degree of the two remaining vertices is 1. If a path graph occurs as a
subgraph of another graph, it is a
path in that graph.
Planar graph
A ''planar graph'' is a graph whose vertices and edges can be drawn in a plane such that no two of the edges intersect.
Cycle graph
A ''cycle graph'' or ''circular graph'' of order is a graph in which the vertices can be listed in an order ''v''
1, ''v''
2, …, ''v''
''n'' such that the edges are the where ''i'' = 1, 2, …, ''n'' − 1, plus the edge . Cycle graphs can be characterized as connected graphs in which the degree of all vertices is 2. If a cycle graph occurs as a subgraph of another graph, it is a cycle or circuit in that graph.
Tree
A ''tree'' is an undirected graph in which any two
vertices are connected by ''exactly one''
path, or equivalently a
connected acyclic undirected graph.
A ''forest'' is an undirected graph in which any two vertices are connected by ''at most one'' path, or equivalently an acyclic undirected graph, or equivalently a
disjoint union
In mathematics, the disjoint union (or discriminated union) A \sqcup B of the sets and is the set formed from the elements of and labelled (indexed) with the name of the set from which they come. So, an element belonging to both and appe ...
of trees.
Polytree
A ''polytree'' (or ''directed tree'' or ''oriented tree'' or ''singly connected network'') is a
directed acyclic graph (DAG) whose underlying undirected graph is a tree.
A ''polyforest'' (or ''directed forest'' or ''oriented forest'') is a directed acyclic graph whose underlying undirected graph is a forest.
Advanced classes
More advanced kinds of graphs are:
*
Petersen graph and its generalizations;
*
perfect graphs;
*
cographs;
*
chordal graphs;
* other graphs with large
automorphism groups:
vertex-transitive,
arc-transitive, and
distance-transitive graph
In the mathematical field of graph theory, a distance-transitive graph is a graph such that, given any two vertices and at any distance , and any other two vertices and at the same distance, there is an automorphism of the graph that carri ...
s;
*
strongly regular graphs and their generalizations
distance-regular graphs.
Properties of graphs
Two edges of a graph are called ''adjacent'' if they share a common vertex. Two edges of a directed graph are called ''consecutive'' if the head of the first one is the tail of the second one. Similarly, two vertices are called ''adjacent'' if they share a common edge (''consecutive'' if the first one is the tail and the second one is the head of an edge), in which case the common edge is said to ''join'' the two vertices. An edge and a vertex on that edge are called ''incident''.
The graph with only one vertex and no edges is called the ''trivial graph''. A graph with only vertices and no edges is known as an ''edgeless graph''. The graph with no vertices and no edges is sometimes called the ''
null graph'' or ''empty graph'', but the terminology is not consistent and not all mathematicians allow this object.
Normally, the vertices of a graph, by their nature as elements of a set, are distinguishable. This kind of graph may be called ''vertex-labeled''. However, for many questions it is better to treat vertices as indistinguishable. (Of course, the vertices may be still distinguishable by the properties of the graph itself, e.g., by the numbers of incident edges.) The same remarks apply to edges, so graphs with labeled edges are called ''edge-labeled''. Graphs with labels attached to edges or vertices are more generally designated as ''labeled''. Consequently, graphs in which vertices are indistinguishable and edges are indistinguishable are called ''unlabeled''. (In the literature, the term ''labeled'' may apply to other kinds of labeling, besides that which serves only to distinguish different vertices or edges.)
The
category
Category, plural categories, may refer to:
General uses
*Classification, the general act of allocating things to classes/categories Philosophy
* Category of being
* ''Categories'' (Aristotle)
* Category (Kant)
* Categories (Peirce)
* Category ( ...
of directed multigraphs permitting loops is the
comma category
In mathematics, a comma category (a special case being a slice category) is a construction in category theory. It provides another way of looking at morphisms: instead of simply relating objects of a Category (mathematics), category to one another ...
Set ↓ ''D'' where ''D'': Set → Set is the
functor
In mathematics, specifically category theory, a functor is a Map (mathematics), mapping between Category (mathematics), categories. Functors were first considered in algebraic topology, where algebraic objects (such as the fundamental group) ar ...
taking a set ''s'' to ''s'' × ''s''.
Examples

* The diagram is a schematic representation of the graph with vertices
and edges
* In
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, directed graphs are used to represent knowledge (e.g.,
conceptual graph),
finite-state machine
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
s, and many other discrete structures.
* A
binary relation
In mathematics, a binary relation associates some elements of one Set (mathematics), set called the ''domain'' with some elements of another set called the ''codomain''. Precisely, a binary relation over sets X and Y is a set of ordered pairs ...
''R'' on a set ''X'' defines a directed graph. An element ''x'' of ''X'' is a direct predecessor of an element ''y'' of ''X'' if and only if ''xRy''.
* A directed graph can model information networks such as
Twitter
Twitter, officially known as X since 2023, is an American microblogging and social networking service. It is one of the world's largest social media platforms and one of the most-visited websites. Users can share short text messages, image ...
, with one user following another.
[Pankaj Gupta, Ashish Goel, Jimmy Lin, Aneesh Sharma, Dong Wang, and Reza Bosagh Zade]
WTF: The who-to-follow system at Twitter
, ''Proceedings of the 22nd international conference on World Wide Web''. .
*Particularly regular examples of directed graphs are given by the
Cayley graph
In mathematics, a Cayley graph, also known as a Cayley color graph, Cayley diagram, group diagram, or color group, is a Graph (discrete mathematics), graph that encodes the abstract structure of a group (mathematics), group. Its definition is sug ...
s of finitely-generated groups, as well as
Schreier coset graphs
*In
category theory
Category theory is a general theory of mathematical structures and their relations. It was introduced by Samuel Eilenberg and Saunders Mac Lane in the middle of the 20th century in their foundational work on algebraic topology. Category theory ...
, every
small category
In mathematics, a category (sometimes called an abstract category to distinguish it from a concrete category) is a collection of "objects" that are linked by "arrows". A category has two basic properties: the ability to compose the arrows asso ...
has an underlying directed multigraph whose vertices are the objects of the category, and whose edges are the arrows of the category. In the language of category theory, one says that there is a
forgetful functor
In mathematics, more specifically in the area of category theory, a forgetful functor (also known as a stripping functor) "forgets" or drops some or all of the input's structure or properties mapping to the output. For an algebraic structure of ...
from the
category of small categories
In mathematics, specifically in category theory, the category of small categories, denoted by Cat, is the category whose objects are all small categories and whose morphisms are functors between categories. Cat may actually be regarded as a 2-c ...
to the
category of quivers.
Graph operations
There are several operations that produce new graphs from initial ones, which might be classified into the following categories:
* ''unary operations'', which create a new graph from an initial one, such as:
**
edge contraction,
**
line graph
In the mathematics, mathematical discipline of graph theory, the line graph of an undirected graph is another graph that represents the adjacencies between edge (graph theory), edges of . is constructed in the following way: for each edge i ...
,
**
dual graph,
**
complement graph
In the mathematical field of graph theory, the complement or inverse of a graph is a graph on the same vertices such that two distinct vertices of are adjacent if and only if they are not adjacent in . That is, to generate the complement of ...
,
**
graph rewriting;
* ''binary operations'', which create a new graph from two initial ones, such as:
**
disjoint union of graphs,
**
cartesian product of graphs
In graph theory, the Cartesian product of graphs and is a graph such that:
* the vertex set of is the Cartesian product ; and
* two vertices and are adjacent in if and only if either
** and is adjacent to in , or
** and is adjace ...
,
**
tensor product of graphs,
**
strong product of graphs,
**
lexicographic product of graphs,
**
series–parallel graphs.
Generalizations
In a
hypergraph
In mathematics, a hypergraph is a generalization of a Graph (discrete mathematics), graph in which an graph theory, edge can join any number of vertex (graph theory), vertices. In contrast, in an ordinary graph, an edge connects exactly two vert ...
, an edge can join any positive number of vertices.
An undirected graph can be seen as a
simplicial complex
In mathematics, a simplicial complex is a structured Set (mathematics), set composed of Point (geometry), points, line segments, triangles, and their ''n''-dimensional counterparts, called Simplex, simplices, such that all the faces and intersec ...
consisting of 1-
simplices (the edges) and 0-simplices (the vertices). As such, complexes are generalizations of graphs since they allow for higher-dimensional simplices.
Every graph gives rise to a
matroid
In combinatorics, a matroid is a structure that abstracts and generalizes the notion of linear independence in vector spaces. There are many equivalent ways to define a matroid Axiomatic system, axiomatically, the most significant being in terms ...
.
In
model theory
In mathematical logic, model theory is the study of the relationship between theory (mathematical logic), formal theories (a collection of Sentence (mathematical logic), sentences in a formal language expressing statements about a Structure (mat ...
, a graph is just a
structure
A structure is an arrangement and organization of interrelated elements in a material object or system, or the object or system so organized. Material structures include man-made objects such as buildings and machines and natural objects such as ...
. But in that case, there is no limitation on the number of edges: it can be any
cardinal number
In mathematics, a cardinal number, or cardinal for short, is what is commonly called the number of elements of a set. In the case of a finite set, its cardinal number, or cardinality is therefore a natural number. For dealing with the cas ...
, see
continuous graph.
In
computational biology
Computational biology refers to the use of techniques in computer science, data analysis, mathematical modeling and Computer simulation, computational simulations to understand biological systems and relationships. An intersection of computer sci ...
,
power graph analysis introduces power graphs as an alternative representation of undirected graphs.
In
geographic information systems,
geometric networks are closely modeled after graphs, and borrow many concepts from
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
to perform spatial analysis on road networks or utility grids.
See also
*
Conceptual graph
*
Graph (abstract data type)
In computer science, a graph is an abstract data type that is meant to implement the Graph (discrete mathematics), undirected graph and directed graph concepts from the field of graph theory within mathematics.
A graph data structure consists of ...
*
Graph database
*
Graph drawing
*
List of graph theory topics
*
List of publications in graph theory
*
Network theory
In mathematics, computer science, and network science, network theory is a part of graph theory. It defines networks as Graph (discrete mathematics), graphs where the vertices or edges possess attributes. Network theory analyses these networks ...
Notes
References
*
*
*
*
*
*
*
*
*
*
*
*
*
Further reading
*
External links
*
*
{{DEFAULTSORT:Graph (Discrete mathematics)
Graph theory