A
teoria dos grafos é um ramo da matemática que estuda as relações entre os objetos de um determinado conjunto. Para tal são empregadas estruturas chamadas de
grafos, G(V,E), onde V é um conjunto não vazio de objetos denominados vértices e E é um conjunto de pares não ordenados de V, chamado arestas.
Dependendo da aplicação, arestas podem ou não ter direção, pode ser permitido ou não arestas ligarem um vértice a ele próprio e vértices e/ou arestas podem ter um peso (numérico) associado. Se as arestas têm uma direção associada (indicada por uma seta na representação gráfica) temos um
grafo direcionado, grafo orientado ou dígrafo. Um grafo com um único vértice e sem arestas é conhecido como o
grafo trivial.
Estruturas que podem ser representadas por grafos estão em toda parte e muitos problemas de interesse prático podem ser formulados como questões sobre certos grafos. Por exemplo, a estrutura de ligações da
Wikipédia pode ser representada por um dígrafo: os vértices são os artigos da Wikipédia e existe uma aresta do artigo
A para o artigo
B se e somente se A contém um link para
B. Dígrafos são também usados para representar
máquinas de estado finito. O desenvolvimento de
algoritmos para manipular grafos é um tema importante da
ciência da computação.