Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Scrivere un algoritmo che dati, un grafo G(V,E), un vertice s € V e un vertice k, effettua una visita in ampiezza di G sino a scoprire i vertici che distano k da s. Alla fine della visita i vertici v con d[v] <= k devono essere di colore nero, altrimenti di colore bianco
- BFS(G,s,k)
- for ogni vertice u € V[G] \ [s]
- do color[u] := WHITE
- d[u] := infinito
- piGreco[u] := NIL
- color[s] := GRAY
- d[s] := 0
- piGreco[s] := NIL
- Q:=[s]
- while Q != empty do
- u := head[Q]
- for ogni v € Adj[u] do
- if color[v] = WHITE
- d[v] := d[v] + 1
- //FIN QUI SOLITO BFS
- if d[v] < k
- color[v] := GRAY
- piGreco[v] := u
- Enqueue(Q,v)
- Dequeue(Q)
- color[u]:= BLACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement