1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-22 10:44:17 +00:00
appunti-steffo/2 - Algoritmi e strutture dati/1 - Appunti/17 - Breadth-first search.md

662 B

Breadth-first search (BFS)

La breadth-first search è un algoritmo che visita ogni livello dell'albero in ordine, dal più basso al più alto.

Funzionamento

  1. Visita radice
  2. Visita figli
  3. Visita nipoti
  4. Visita pronipoti

Si può implementare con una coda, in cui verranno inseriti i figli del nodo visitato da visitare ed estratti dopo avere completato la visita del livello attuale.

Pseudocodice

def bfs(radice):
    c = Queue()
    c.enqueue(radice)
    while not c.is_empty():
        nodo = c.dequeue()
        print(nodo)
        for figlio in nodo.figli:
            nodo.enqueue(figlio)