mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-28 21:04:19 +00:00
662 B
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
- Visita radice
- Visita figli
- Visita nipoti
- 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)