Ad esempio, supponiamo di avere un grafo G = (V, E) doveCome si partiziona un grafico bipartito per colore?
V = {A, B, C, D}
E = {(A, B), (A, D), (C, D)}
Questo grafico è bipartito e quindi può essere diviso in due gruppi disgiunti {A, C} e {B, D}. La mia prima ipotesi è che posso semplicemente camminare sul grafico e assegnare colori alternati a ciascun vertice. È questo il caso, o è più complicato/più semplice di questo? Esistono algoritmi noti per questo?
O semplicemente scrivere un ricorsiva Funzione DFS, passando un argomento di colore. –
La maggior parte dei grafici abbastanza grandi da essere interessanti causa una SO su DFS ricorsivo. –
Questo è solo un BFS. Non è necessario mantenere due code; basta uno solo (dato che stai marcando i colori dei nodi mentre vai). – ShreevatsaR