Visita in ampiezza partendo da D
grafo
A
A
B
B
A--B
8
C
C
A--C
10
D
D
A--D
4
E
E
A--E
5
G
G
A--G
2
B--D
1
B--E
9
C--G
6
F
F
C--F
5
E--G
4
F--G
3
Inizializzazione
Si usa una struttura dati di tipo Queue
Inserimento del nodo D
Queue: [D/0]
Visitati: []
grafo
A
A
-1
B
B
-1
A--B
8
C
C
-1
A--C
10
D
D
0
A--D
4
E
E
-1
A--E
5
G
G
-1
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Elaborazione dei nodi inseriti in Queue finchè non sono esauriti
Estrazione e visita del nodo D
Queue: []
Storico Queue: [D/0]
grafo
A
A
-1
B
B
-1
A--B
8
C
C
-1
A--C
10
D
D
0
A--D
4
E
E
-1
A--E
5
G
G
-1
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Nodi adiacenti a D non ancora visitati
Inserimento in Queue del nodo adiacente non visitato A
(D->A)
Inserimento in Queue del nodo adiacente non visitato B
(D->B)
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
-1
A--C
10
D
D
0
A--D
4
E
E
-1
A--E
5
G
G
-1
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Queue: [A/1, B/1]
Visitati: [D/0]
Storico Queue: [D/0, A/1, B/1]
Estrazione e visita del nodo A
Queue: [B/1]
Storico Queue: [D/0, A/1, B/1]
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
-1
A--C
10
D
D
0
A--D
4
E
E
-1
A--E
5
G
G
-1
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Nodi adiacenti a A non ancora visitati
Inserimento in Queue del nodo adiacente non visitato B
(A->B)
Inserimento in Queue del nodo adiacente non visitato C
(A->C)
Inserimento in Queue del nodo adiacente non visitato E
(A->E)
Inserimento in Queue del nodo adiacente non visitato G
(A->G)
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Queue: [B/1, B/1, C/2, E/2, G/2]
Visitati: [D/0, A/1]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2]
Estrazione e visita del nodo B
Queue: [B/1, C/2, E/2, G/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2]
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Nodi adiacenti a B non ancora visitati
Inserimento in Queue del nodo adiacente non visitato E
(B->E)
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Queue: [B/1, C/2, E/2, G/2, E/2]
Visitati: [D/0, A/1, B/1]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2]
Estrazione e visita del nodo B
Il nodo B è già stato visitato. Passo al prossimo nodo se presente in Queue
Queue: [C/2, E/2, G/2, E/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2]
Estrazione e visita del nodo C
Queue: [E/2, G/2, E/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2]
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
-1
C--F
5
E--G
4
F--G
3
Nodi adiacenti a C non ancora visitati
Inserimento in Queue del nodo adiacente non visitato F
(C->F)
Inserimento in Queue del nodo adiacente non visitato G
(C->G)
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3
Queue: [E/2, G/2, E/2, F/3, G/2]
Visitati: [D/0, A/1, B/1, C/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2]
Estrazione e visita del nodo E
Queue: [G/2, E/2, F/3, G/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2]
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3
Nodi adiacenti a E non ancora visitati
Inserimento in Queue del nodo adiacente non visitato G
(E->G)
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3
Queue: [G/2, E/2, F/3, G/2, G/2]
Visitati: [D/0, A/1, B/1, C/2, E/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2]
Estrazione e visita del nodo G
Queue: [E/2, F/3, G/2, G/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2]
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3
Nodi adiacenti a G non ancora visitati
Inserimento in Queue del nodo adiacente non visitato F
(G->F)
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3
Queue: [E/2, F/3, G/2, G/2, F/3]
Visitati: [D/0, A/1, B/1, C/2, E/2, G/2]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
Estrazione e visita del nodo E
Il nodo E è già stato visitato. Passo al prossimo nodo se presente in Queue
Queue: [F/3, G/2, G/2, F/3]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
Estrazione e visita del nodo F
Queue: [G/2, G/2, F/3]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3
Nodi adiacenti a F non ancora visitati
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3
Queue: [G/2, G/2, F/3]
Visitati: [D/0, A/1, B/1, C/2, E/2, G/2, F/3]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
Estrazione e visita del nodo G
Il nodo G è già stato visitato. Passo al prossimo nodo se presente in Queue
Queue: [G/2, F/3]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
Estrazione e visita del nodo G
Il nodo G è già stato visitato. Passo al prossimo nodo se presente in Queue
Queue: [F/3]
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
Estrazione e visita del nodo F
Il nodo F è già stato visitato. Passo al prossimo nodo se presente in Queue
Queue: []
Storico Queue: [D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
Queue è vuota. Arresto
Storico della Queue
[D/0, A/1, B/1, B/1, C/2, E/2, G/2, E/2, F/3, G/2, G/2, F/3]
Ordine di visita dei nodi
[D/0, A/1, B/1, C/2, E/2, G/2, F/3]
grafo
A
A
1/D
B
B
1/D
A--B
8
C
C
2/A
A--C
10
D
D
0
A--D
4
E
E
2/A
A--E
5
G
G
2/A
A--G
2
B--D
1
B--E
9
C--G
6
F
F
3/C
C--F
5
E--G
4
F--G
3