Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Algorytm BFS dla macierzy sąsiedztwa
- Wejście
- n – liczba wierzchołków, n C
- v – numer wierzchołka startowego, v C
- visited – wyzerowana tablica logiczna n elementowa z informacją o odwiedzonych wierzchołkach
- A – macierz sąsiedztwa o rozmiarze n x n
- Wyjście:
- Przetworzenie wszystkich wierzchołków w grafie.
- Elementy pomocnicze:
- Q – kolejka
- i – indeks, i C
- Lista kroków:
- K01: Q.push(v) ; w kolejce umieszczamy numer wierzchołka startowego
- K02: visited[v] ← true
- K03: Dopóki Q.empty() = false, wykonuj K04...K10 ; tutaj jest pętla główna algorytmu BFS
- K04: v ← Q.front() ; odczytujemy z kolejki numer wierzchołka
- K05: Q.pop() ; odczytany numer usuwamy z kolejki
- K06: Przetwórz wierzchołek v ; tutaj wykonujemy operacje na wierzchołku v
- K07: Dla i = 0,1,...,n-1: wykonuj K08...K10 ; przeglądamy wszystkich sąsiadów v
- K08: Jeśli (A[v][i] = 0) (visited[i] = true), to następny obieg pętli K07 ; szukamy nieodwiedzonego sąsiada
- K09: Q.push(i) ; numer sąsiada umieszczamy w kolejce
- K10: visited[i] ← true ; i oznaczamy go jako odwiedzonego
- K11: Zakończ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement