Um subgrafo de um grafo é uma parte
do grafo.
Embora esse conceito seja intuitivo,
sua formulação rigorosa exige cuidado.
Formularmos o conceito como uma relação entre dois grafos.
Um grafo H é subgrafo de um grafo G se todo vértice de H é vértice de G e todo arco de H é arco de G.
Alguns tipos de subgrafos merecem destaque:
Dado um conjunto X de vértices de um grafo G, o subgrafo de G induzido por X é o subgrafo formado por X e por todos os arcos de G que têm ambas as pontas em X.
Um subgrafo de um grafo não-dirigido não é necessariamente não-dirigido. Portanto, um subgrafo de um grafo não-dirigido não é necessariamente não-dirigido. Portanto, a seguinte definição não é redundante.
Um subgrafo (= subgraph) não-dirigido de um grafo não-dirigido G é qualquer grafo H que seja subgrafo de G.
Infelizmente, nossas estruturas de dados entram em choque com a definição de subgrafo,
pois supõem que todo grafo
tem vértices 0 1 2 ... V-1.
Assim,
será necessário empregar um certo jogo de cintura
ao usar o termo subgrafo:
se G é um grafo com vértices
0 1 2 ... 99
e dissermos que H é um subgrafo de G
e tem 5 vértices,
ficará subentendido que os vértices de H
não são necessariamente
0 1 2 3 4,
mas podem ser 2 4 6 50 99
ou
10 20 30 40 50,
por exemplo.