Visita in ampiezza partendo da D
Inizializzazione
Si usa una struttura dati di tipo Queue
Inserimento del nodo D
Queue: [D/0]
Visitati: []
Elaborazione dei nodi inseriti in Queue finchè non sono esauriti
Estrazione e visita del nodo D
Queue: []
Storico Queue: [D/0]
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)
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]
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)
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]
Nodi adiacenti a B non ancora visitati
Inserimento in Queue del nodo adiacente non visitato E
(B->E)
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]
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)
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]
Nodi adiacenti a E non ancora visitati
Inserimento in Queue del nodo adiacente non visitato G
(E->G)
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]
Nodi adiacenti a G non ancora visitati
Inserimento in Queue del nodo adiacente non visitato F
(G->F)
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]
Nodi adiacenti a F non ancora visitati
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]