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