Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. Algorytm BFS dla macierzy sąsiedztwa
  2.  
  3. Wejście
  4.  
  5. n    –    liczba wierzchołków, n   C
  6. v    –    numer wierzchołka startowego, v   C
  7. visited  –    wyzerowana tablica logiczna n elementowa z informacją o odwiedzonych wierzchołkach
  8. A    –    macierz sąsiedztwa o rozmiarze n x n
  9. Wyjście:
  10.  
  11. Przetworzenie wszystkich wierzchołków w grafie.
  12. Elementy pomocnicze:
  13.  
  14. Q    –    kolejka
  15. i    –    indeks, i   C
  16. Lista kroków:
  17.  
  18. K01:    Q.push(v)   ; w kolejce umieszczamy numer wierzchołka startowego
  19. K02:    visited[v]true  
  20. K03:    Dopóki Q.empty() = false, wykonuj K04...K10    ; tutaj jest pętla główna algorytmu BFS
  21. K04:        v ← Q.front() ; odczytujemy z kolejki numer wierzchołka
  22. K05:        Q.pop() ; odczytany numer usuwamy z kolejki
  23. K06:        Przetwórz wierzchołek v   ; tutaj wykonujemy operacje na wierzchołku v
  24. K07:        Dla i = 0,1,...,n-1: wykonuj K08...K10  ; przeglądamy wszystkich sąsiadów v
  25. K08:            Jeśli (A[v][i] = 0)   (visited[i] = true), to następny obieg pętli K07   ; szukamy nieodwiedzonego sąsiada
  26. K09:            Q.push(i)   ; numer sąsiada umieszczamy w kolejce
  27. K10:            visited[i]true ; i oznaczamy go jako odwiedzonego
  28. K11:    Zakończ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement