1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-25 09:24:21 +00:00
triennale-appunti-steffo/public/materials/year1/algoritmi/17_BreadthFirstSearch.md

26 lines
662 B
Markdown
Raw Normal View History

2022-02-03 02:15:39 +00:00
#### 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
```python
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)
```