Como descobrir se um gráfico é bipartido?

Eu tenho tentado entender o gráfico bipartido. No meu entender, é um gráfico G que pode ser dividido em dois subgráficos U e V. Assim, a interseção de U e V é um conjunto nulo e a união é o gráfico G. Estou tentando descobrir se um gráfico é bipartido ou não está usando BFS. . Ainda não está claro para mim que como podemos encontrar isso usando o BFS.

Digamos que temos um gráfico definido como abaixo.

a:e,f
b:e
c:e,f,h
d:g,h
e:a,b,c
f:a,c,g
g:f,d
h:c,d

O que eu preciso aqui é uma explicação passo a passo de como este gráfico é bipartido ou não está usando BFS.

questionAnswers(7)

yourAnswerToTheQuestion