Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. TRASPOSTO, DFS SUI VERTICI DI B COSÌ MI TROVERÒ COLORATI DI NERO TUTTI I VERTICI
  2. CHE RAGGIUNGONO I VERTICI DI B.
  3. CICLO SUI VERTICI DI A E SE IL VERTICE È COLORATO DI NERO ED HA DISTANZA MINORE DI K
  4. ALLORA RESTITUISCO FALSE.
  5.  
  6. ALGO(G,A,B,K){
  7. INIT(G);
  8. GT=TRASPOSTO(G);
  9. FOR EACH v IN B
  10. IF (c[v]=bianco) THEN
  11. BFS(GT,v);
  12. FOR EACH v IN A
  13. IF (c[v]=nero && d[v] < k) THEN
  14. return FALSE;
  15. return TRUE;
  16. }
  17.  
  18. BFS(G,s) {
  19. Q={s};
  20. c[s]=grigio;
  21. d[s]=0;
  22. WHILE (Q!=0) DO
  23. v=TESTA(Q);
  24. FOR EACH u IN ADJ[v] DO
  25. IF (c[u]=bianco) THEN
  26. Q=enqueue(Q,u);
  27. c[u]=grigio;
  28. d[u]=d[v]+1;
  29. Q=dequeue(Q);
  30. c[s]=nero;
  31. }
  32.  
  33. INIT(G){
  34. FOR EACH v IN G
  35. c[v]=bianco;
  36. d[v]=infinito;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement