You are on page 1of 140

FONDAMENTI DI INFORMATICA II

1
Visita in Ampiezza

2
Le linne 1-4 colorano tutti i vertici di BIANCO,
assegnano infinito alla variabile per ogni vertice ed
inizializzano il predecessore di ogni vertice con .

La linea 5 colora il vertice sorgente di GRIGIO, poich si assume che


esso venga scoperto non appena parte la procedura.
La linea 6 inizializza d[s] con 0.
La linea 7 pone NIL come predecessore della sorgente.
La linea 8 inizializza Q con la coda che contiene il solo vertice s

Corpo principale

3
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

3
Notazioni

n Un vertice j adiacente ad i se i, j . E
n Per implementare un algoritmo di visita si considerano due
partizioni dei vertici del grafo: una partizione in visitati e non
non
visitati; ed una partizione nei tre sottoinsiemi:
n Frontiera (GRIGIO): insieme dei vertici visitati che
possono avere altri vertici adiacenti non ancora visitati;
n Interno (NERO): vertici ad esso adiacenti e non ancora
visitati.
n Esterno (BIANCO): insieme dei vertici non ancora visitati.

4
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

4
Esempio 1 Passo 0
Vertice sorgente: s

r s t u

v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
5
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

5
Esempio 1 Passo 1
s Albero
Inizializzazione

r s t u
0
Q s
0 Distanza dal vertice sorgente
Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
6
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

6
Esempio 1 Passo 2
s Albero
- Estrae s da Q
w
s r
- Metti in Q e colora in
GRIGIO i vertici
r s t u adiacenti a s

1 0 - Colora s in NERO

Q w r
1 1 Distanza dal vertice sorgente
1 Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
7
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

7
Esempio 1 Passo 3
s Albero
- Estrae w da Q
w
s r
- Metti in Q e colora in
st x GRIGIO i vertici
r s t u adiacenti a w

1 0 2 - Colora w in NERO

Q r t x
1 2 2 Distanza dal vertice sorgente
1 2 Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
8
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

8
Esempio 1 Passo 4
s Albero
- Estrae r da Q
w
s r
- Metti in Q e colora in
st x v GRIGIO i vertici
r s t u adiacenti a r

1 0 2 - Colora r in NERO

Q t x v
2 2 2 Distanza dal vertice sorgente
2 1 2 Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
9
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

9
Esempio 1 Passo 5
s Albero
- Estrae t da Q
w
s r
- Metti in Q e colora in
st x v GRIGIO i vertici
u
r s t u adiacenti a t

1 0 2 3 - Colora t in NERO

Q x v u
2 2 3 Distanza dal vertice sorgente
2 1 2 Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
10
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

10
Esempio 1 Passo 6
s Albero
- Estrae x da Q
w
s r
- Metti in Q e colora in
st x v GRIGIO i vertici
u y
r s t u adiacenti a x

1 0 2 3 - Colora x in NERO

Q v u y
2 3 3
2 1 2 3
Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
11
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

11
Esempio 1 Passo 7
s Albero
- Estrae v da Q
w
s r
- Metti in Q e colora in
st x v GRIGIO i vertici
u y
r s t u adiacenti a v

1 0 2 3 - Colora v in NERO

Q u y
3 3 Distanza dal vertice sorgente
2 1 2 3
Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
12
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

12
Esempio 1 Passo 8
s Albero
- Estrae u da Q
w
s r
- Metti in Q e colora in
st x v GRIGIO i vertici
u y
r s t u adiacenti a u

1 0 2 3 - Colora u in NERO

Q y
3 Distanza dal vertice sorgente
2 1 2 3
Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
13
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

13
Esempio 1 Passo 9
s Albero
- Estrae w da Q
w
s r
- Metti in Q e colora in
st x v GRIGIO i vertici
u y
r s t u adiacenti a y

1 0 2 3 - Colora y in NERO

Q O

2 1 2 3
Q = Frontiera = Insieme vertici GRIGI
v w x y
Effetto dellalgoritmo di visita in ampiezza BFS
La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
14
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

14
Esempio 2 Passo 0
Vertice sorgente: 1

1 2 3

4 5 6

Effetto dellalgoritmo di visita in ampiezza BFS


La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
15
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

15
Esempio 2 Passo 1
1 Albero
Inizializzazione

1 2 3

Q 1

4 5 6
Q = Frontiera = Insieme vertici GRIGI

Effetto dellalgoritmo di visita in ampiezza BFS


La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
16
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

16
Esempio 2 Passo 2
1 Albero
- Estrae 1 da Q
s
2 4
- Metti in Q e colora in
GRIGIO i vertici
adiacenti a 1

1 2 3 - Colora 1 in NERO

Q 2 4

4 5 6
Q = Frontiera = Insieme vertici GRIGI

Effetto dellalgoritmo di visita in ampiezza BFS


La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
17
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

17
Esempio 2 Passo 3
1 Albero
- Estrae 2 e 4 da Q
s
2 4
- Metti in Q e colora in
s
5 GRIGIO i vertici
adiacenti a 2 e 4

1 2 3 - Colora 2 e 4 in NERO

Q 5

4 5 6
Q = Frontiera = Insieme vertici GRIGI

Effetto dellalgoritmo di visita in ampiezza BFS


La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
18
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

18
Esempio 2 Passo 4
1 Albero
- Estrae 5 da Q
s
2 4
- Metti in Q e colora in
s
5 GRIGIO i vertici
adiacenti a 5
s
3 6
1 2 3 - Colora 5 in NERO

Q 3 6

4 5 6
Q = Frontiera = Insieme vertici GRIGI

Effetto dellalgoritmo di visita in ampiezza BFS


La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
19
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

19
Esempio 2 Passo 5
1 Albero
- Estrae 3 e 6 da Q
s
2 4
- Metti in Q e colora in
s
5 GRIGIO i vertici
adiacenti a 3 e 6
s
3 6
1 2 3 - Colora 3 e 6 in NERO

Q=

4 5 6
Q = Frontiera = Insieme vertici GRIGI

Effetto dellalgoritmo di visita in ampiezza BFS


La colorazione dei vertici avviene nel seguente modo: su di un grafo non orientato. Gli archi dellalbero
sono mostrati in grigio a mano a mano che sono
- Inizialmente tutti i vertici sono BIANCHI.
prodotti dalla BFS. Il valore d[u] mostrato
- Un vertice si colora di GRIGIO quando viene raggiunto per la prima allinterno di ogni vertice u. Viene mostrato lo
volta. stato della coda Q allinizio di ogni iterazione del
ciclo while delle linee 9-18. le distanze dei vertici
- Un vertice si colora di NERO quando tutti i vertici ad esso adiacenti
sono mostrate sotto i vertici nella coda
e non ancora visitati sono stati inseriti nella coda.
20
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

20
Conclusioni

n Il tempo totale richiesto dalla procedura BFS O(V+E


O(V+E).
).
n Dati due vertici s e v in un grafo non pesato, il numero minimo
di archi su un cammino da s a v si definisce distanza sul
cammino minimo.
n La procedura BFS calcola le distanze sul cammino per ogni
vertice di un grafo (rispetto ad un vertice sorgente).

21
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

21
Visita in Profondit

22
Le linee 1-3 colorano tutti i vertici di bianco e si
inizializzano i loro campi a NIL

La linea 4 azzera il contatore globale del tempo.

Le linee 5-7 controllano tutti i vertici di V: quando si trova uno bianco lo visita
usando la procedura DFS-Visit(u). Ogni volta che si chiama la DFS-Visit(u), il
vertice u diventa la radice di un nuovo albero della foresta DFS. Quando la
DFS termina ad ogni vertice u viene assegnato un tempo di scoperta d[u] e un
tempo di fine visita f[u].

-il vertice inizialmente bianco.


-LINEA 1: colora di grigio.
-LINEA 2: memorizza il tempo di
scoperta incrementando la variabile
globale e memorizzandone il valore.
-LINEE 3-6: esaminano ogni vertice
adiacente a e visitano
ricorsivamente se esso bianco.
Quando un vertice viene
considerato nella linea 3, allora
larco stato esplorato dalla visita
in profondit.
23
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

23
Classificazione degli archi
del grafo durante una DFS
n Arco dellalbero: arco inserito nella foresta DFS
n Arco allindietro: arco che collega un vertice ad un suo
antenato in un albero della foresta DFS
n Arco in avanti: arco che collega un vertice ad un suo
discendente in un albero della foresta DFS
n Arco di attraversamento: arco che collega due vertici che non
sono in relazione antenato - discendente

24
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

24
Esempio 1 Passo 0
Vertice sorgente: u
u v w
1 2 3
1 2 4 /
2 5 /

4 5 6 4 2 5 /

5 3 6 /

x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
25
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

25
Esempio 1 Passo 1
1 Foresta
Visita u
u v w
1 2 3
1 2 4 /
2 5 /

u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
26
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

26
Esempio 1 Passo 2
1 Foresta
Visita v
2
u v w
1 2 32
1 2 4 /
2 5 /

v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
27
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

27
Esempio 1 Passo 3
1 Foresta
Visita y
2
u v w
5
1 2 3
1 2 4 /
2 5 /

y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
28
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

28
Esempio 1 Passo 4
1 Foresta
Visita w
2
u v w
5
1 2 3
3
1 2 4 /
2 5 /

w y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
29
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

29
Esempio 1 Passo 5
1 Foresta
Visita w
2
u v w
5 B
1 2 3
3
1 2 4 /
2 5 /

w y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
30
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

30
Esempio 1 Passo 6
1 Foresta

2
u v w
5 B
1 2 3
3
1 2 4 /
2 5 /

y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
31
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

31
Esempio 1 Passo 7
1 Foresta
Visita z
2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

z y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
32
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

32
Esempio 1 Passo 8
1 Foresta
Visita z
2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

z y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
33
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

33
Esempio 1 Passo 9
1 Foresta

2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
34
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

34
Esempio 1 Passo 10
1 Foresta

2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

y v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
35
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

35
Esempio 1 Passo11
1 Foresta

2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
36
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

36
Esempio 1 Passo 12
1 Foresta

2
u v w
5
1 2 3
6 3
B
1 2 4 /
2 5 /

v u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
37
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

37
Esempio 1 Passo 13
1 Foresta

2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
38
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

38
Esempio 1 Passo 14
1 Foresta
Visita x
s
4 2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

x u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
39
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

39
Esempio 1 Passo 15
1 Foresta
Visita x
s
4 2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

x u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
40
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

40
Esempio 1 Passo 16
1 Foresta
s
4 2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

u
3

4 5 6 4 2 5 /

3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
41
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

41
Esempio 1 Passo 17
1 Foresta
s
4 2
u v w
5
1 2 3
s
6 3
1 2 4 /
2 5 /

4 5 6 4 2 5 /
3 /
5 6
Frontiera
x y z 6 3 /

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata) di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
42
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

42
Esempio 2 Passo 0
Vertice sorgente: u
u v x /
/
u v w
v y
w y z /
x v /
y x /
z z /

x y z
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
43
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

43
Esempio 2 Passo 1
Visita u Foresta 1/
u v x /
/
u v w
v y
w y z /

1/
x v /
y x /
z z /

u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
44
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

44
Esempio 2 Passo 2
Visita v Foresta 1/
u v x /
2/ /
u v w
v y
w y z /

1/ 2/
x v /
y x /
z z /

v u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
45
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

45
Esempio 2 Passo 3
Visita y Foresta 1/
u v x /
2/ /
u v w
v y
w y z /
3/
1/ 2/
x v /
y x /
z z /

3/ y v u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
46
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

46
Esempio 2 Passo 4
Visita x Foresta 1/
u v x /
2/ /
u v w
v y
w y z /
3/
1/ 2/
x v /
y x /
4/
z z /

4/ 3/ x y v u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
47
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

47
Esempio 2 Passo 5
Foresta 1/
u v x /
2/ B /
u v w
v y
w y z /
3/
1/ 2/
x v /
y x /
4/
z z /

4/ 3/ x y v u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
48
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

48
Esempio 2 Passo 6
Foresta 1/
u v x /
2/ B /
u v w
v y
w y z /
3/
1/ 2/
x v /
y x /
4/5
z z /

4/5 3/ y v u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
49
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

49
Esempio 2 Passo 7
Foresta 1/
u v x /
2/ B /
u v w
v y
w y z /
3/6
1/ 2/
x v /
y x /
4/5
z z /

4/5 3/6 v u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
50
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

50
Esempio 2 Passo 8
Foresta 1/
u v x /
2/7 B /
u v w
v y
w y z /
3/6
1/ 2/7
x v /
y x /
4/5
z z /

4/5 3/6 u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
51
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

51
Esempio 2 Passo 9
Foresta 1/
u v x /
2/7 B /
u v w
v y
F
w y z /
3/6
1/ 2/7
x v /
y x /
4/5
z z /

F B

4/5 3/6 u
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
52
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

52
Esempio 2 Passo 10
Foresta 1/8
u v x /
2/7 B /
u v w
v y
F
w y z /
3/6
1/8 2/7
x v /
y x /
4/5
z z /

F B

4/5 3/6

x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
53
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

53
Esempio 2 Passo 11
Visita w Foresta 1/8
u v x /
2/7 B /
u v w
v y
F
w y z /
9/ 3/6
1/8 2/7 9/
x v /
y x /
4/5
z z /

F B

4/5 3/6 w
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
54
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

54
Esempio 2 Passo 12
Foresta 1/8
u v x /
2/7 B /
u v w
v y
F
w y z /
C
9/ 3/6
1/8 2/7 9/
x v /
y x /
4/5
C z z /

F B

4/5 3/6 w
x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
55
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

55
Esempio 2 Passo 13
Visita z Foresta 1/8
u v x /
2/7 B /
u v w
v y
F
w y z /
C
9/ 3/6
1/8 2/7 9/
x v /
y x /
s
10/ 4/5
C z z /

F B

4/5 3/6 10/ z w


x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
56
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

56
Esempio 2 Passo 14
Foresta 1/8
u v x /
2/7 B /
u v w
v y
F
w y z /
C
9/ 3/6
1/8 2/7 9/
x v /

B y x /
s
10/ 4/5
C z z /

F B

4/5 3/6 10/ B z w


x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
57
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

57
Esempio 2 Passo 15
Foresta 1/8
u v x /
2/7 B /
u v w
v y
F
w y z /
C
9/ 3/6
1/8 2/7 9/
x v /

B y x /
s
10/11 4/5
C z z /

F B

4/5 3/6 10/11 B w


x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
58
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

58
Esempio 2 Passo 16
Foresta 1/8
u v x /
2/7 B /
u v w
v y
F
w y z /
C
9/12 3/6
1/8 2/7 9/12
x v /

B y x /
s
10/11 4/5
C z z /

F B

4/5 3/6 10/11 B

x y z Frontiera
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
59
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

59
Esempio 3 Passo 0
r s t u r s v /
s w r /
t
Vertice
w
sorgente:
x u /
s
u t /
v r /
w s t x /

x x w t y z /
y x /

z x

v w y
z
Vertice sorgente: s
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

60
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

60
Esempio 3 Passo 1
r s t u Foresta 1
r s v /
s w r /
Visita s
1 t w x u /
u t /
v r /
w s t x /

x x w t y z /
y x /

z x

v w y
s
z
Frontiera
Visita s
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

61
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

61
Esempio 3 Passo 2
r s t u Foresta 1
r s v /
s w r /
Visita w
1 2
t w x u /
u t /
v r /
w s t x /

x x w t y z /
/
2
y x
z x

v w y
w s
z
Frontiera
Visita W
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

62
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

62
Esempio 3 Passo 3
r s t u Foresta 1
r s v /
s w r /
Visita t
1 3 2
t w x u /
u t /
/
3 v r
w s t x /

x x w t y z /
/
2
y x
z x

v w y
t w s
z
Frontiera
Visita t
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

63
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

63
Esempio 3 Passo 4
r s t u Foresta 1
r s v /
s w r /
Visita u
1 3 4 2
t w x u /
u t /
/
3 v r
w s t x /

x 4 x w t y z /
/
2
y x
z x

v w y
u t w s
z
Frontiera
Visita u
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

64
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

64
Esempio 3 Passo 5
r s t u Foresta 1
r s v /
s w r /
Visita x
1 3 4 2
t w x u /
u t /
/
3 v r
w s t x /

x s
5 4 x w t y z /
/
2 5
y x
z x

v w y
x t w s
z
Frontiera
Visita x
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

65
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

65
Esempio 3 Passo 6
r s t u Foresta 1
r s v /
s w r /
Visita y
1 3 4 2
t w x u /
u t /
/
3 v r
w s t x /

x s
5 4 x w t y z /
/
2 5 6
y x
s
6 z x

v w y
y x t w s
z
Frontiera
Visita y
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

66
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

66
Esempio 2 Passo 7
r s t u Foresta 1
r s v /
s w r /
Visita z
1 3 4 2
t w x u /
u t /
/
3 v r
w s t x /

x s
5 4 x w t y z /
/
2 5 6
y x
s
6 7 z x

v w y
z x t w s
z
Frontiera
Visita z 7
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

67
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

67
Esempio 3 Passo 8
r s t u Foresta 1
r s v /
s w r /
Visita r
8 1 3 4 s
8 2
t w x u /
u t /
/
3 v r
w s t x /

x s
5 4 x w t y z /
/
2 5 6
y x
s
6 7 z x

v w y
r s
z
Frontiera
Visita r 7
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

68
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

68
Esempio 3 Passo 9
r s t u Foresta 1
r s v /
s w r /
Visita v
8 1 3 4 s
8 2
t w x u /
u t /

s
9 3 v r /
w s t x /

x s
5 4 x w t y z /
/
9 2 5 6
y x
s
6 7 z x

v w y
v r s
z
Frontiera
Visita v 7
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

69
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

69
Esempio 3 Passo 10
r s t u Foresta 1
r s v /
s w r /
Conclusione dellau visita
8 1 3 4 s
8 2
t w x /
u t /

s
9 3 v r /
w s t x /

x s
5 4 x w t y z /
/
9 2 5 6
y x
s
6 7 z x

v w y
z
Frontiera
Conclusione della visita 7
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: non orientato. Man mano che gli archi sono esplorati
- Inizialmente tutti i vertici sono BIANCHI. dallalgoritmo, sono colorati in grigio (se sono archi dellalbero)
o tratteggiati. Gli archi che non sono dellalbero sono
- Un vertice si colora di GRIGIO quando viene raggiunto etichettati con B, C, o con F a seconda che sono allindietro, di
per la prima volta. attraversamento o in avanti. I vertici sono etichettati con una
- Un vertice si colora di NERO quando tutti i vertici ad coppia tempo di scoperta/tempo di fine visita.
esso adiacenti sono stati visitati (quando cio la sua lista
di adiacenza stata completamente esaminata).

70
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

70
Esempio 4 Passo 0
y z s t

x w v u
Vertice sorgente: s
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
71
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

71
Esempio 4 Passo 1
y z s t Foresta 1/
Visita s
1/

x w v u
Visita s
Visita s
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
72
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

72
Esempio 4 Passo 2
y z s t Foresta
T 1/
Visita z
2/ 1/ 2/

x w v u
Visita s
Visita z
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
73
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

73
Esempio 4 Passo 3
y z s t Foresta
T T 1/
Visita y
3/ 2/ 1/ 2/

3/

x w v u
Visita s
Visita y
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
74
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

74
Esempio 4 Passo 5
y z s t Foresta
T T 1/
Visita x
3/ 2/ 1/ 2/

3/
T
4/

4/

x w v u
Visita s
Visita x
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
75
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

75
Esempio 4 Passo 6
y z s t Foresta
T T 1/

3/ 2/ 1/ 2/ B

3/
T B
4/

4/

x w v u
Visita s

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
76
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

76
Esempio 4 Passo 7
y z s t Foresta
T T 1/
Arco di ritorno B
3/ 2/ 1/ 2/ B

3/
T B
4/5

4/5

x w v u
Arco di ritorno B
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
77
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

77
Esempio 4 Passo 8
y z s t Foresta
T T 1/

3/6 2/ 1/ 2/ B

3/6
T B
4/5

4/5

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
78
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

78
Esempio 4 Passo 9
y z s t Foresta
T T 1/
Visita w
3/6 2/ 1/ 2/ B

7/ 3/6
T B T
4/5

4/5 7/

x w v u
Visita w
Effetto dellalgoritmo di visita in profondit DFS su di un grafo
La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
79
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

79
Esempio 4 Passo 10
y z s t Foresta
T T 1/

3/6 2/ 1/ 2/ B

7/8 3/6
T B T
4/5

4/5 7/8

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
80
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

80
Esempio 4 Passo 12
y z s t Foresta
T T 1/

3/6 2/9 1/ 2/9 B

7/8 3/6
T B T
4/5

4/5 7/8

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
81
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

81
Esempio 4 Passo 13
y z s t Foresta
T T 1/

3/6 2/9 1/ F 2/9 B

7/8 3/6
T B T F
4/5

4/5 7/8

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
82
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

82
Esempio 4 Passo 14
y z s t Foresta
T T 1/10

3/6 2/9 1/10 F 2/9 B

7/8 3/6
T B T F
4/5

4/5 7/8

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
83
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

83
Esempio 4 Passo 15
y z s t Foresta
T T 1/10 11/

3/6 2/9 1/10 11/ F 2/9 B

7/8 3/6
T B T F
4/5

4/5 7/8

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
84
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

84
Esempio 4 Passo 16
y z s t Foresta
T T 1/10 11/

3/6 2/9 1/10 11/ F 2/9 B s


12/

7/8 3/6
T B T F T
4/5

4/5 7/8 12/

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
85
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

85
Esempio 4 Passo 17
y z s t Foresta
T T 1/10 11/

3/6 2/9 1/10 11/ F 2/9 B s


12/13

7/8 3/6
T B T F T
4/5

4/5 7/8 12/13

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
86
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

86
Esempio 4 Passo 18
y z s t Foresta
T T 1/10 11/

3/6 2/9 1/10 11/ F 2/9 B s


12/13 14/

7/8 3/6
T B T F T
4/5

4/5 7/8 12/13 14/

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
87
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

87
Esempio 4 Passo 19
y z s t Foresta
T T 1/10 11/

3/6 2/9 1/10 11/ F 2/9 B s


12/13 14/15

7/8 3/6
T B T F T
4/5

4/5 7/8 12/13 14/15

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
88
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

88
Esempio 4 Passo 20
y z s t Foresta
T T 1/10 11/16

3/6 2/9 1/10 11/16 F 2/9 B s


12/13 14/15

7/8 3/6
T B T F T T
4/5

4/5 7/8 12/13 14/15

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
89
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

89
Esempio 4 Passo 21
y z s t Foresta
C B
T T 1/10 11/16

3/6 2/9 1/10 11/16 F 2/9 B s


12/13 14/15
C
7/8 3/6
T B T F C T B T
C 4/5
C C C
4/5
C 7/8 12/13 14/15

x w v u

Effetto dellalgoritmo di visita in profondit DFS su di un grafo


La colorazione dei vertici avviene nel seguente modo: orientato. Man mano che gli archi sono esplorati dallalgoritmo,
sono colorati in grigio (se sono archi dellalbero) o tratteggiati.
- Inizialmente tutti i vertici sono BIANCHI. Gli archi che non sono dellalbero sono etichettati con B, C, o
- Un vertice si colora di GRIGIO quando viene raggiunto con F a seconda che sono allindietro (collegano un vertice u ad
per la prima volta. un antenato v in un albero DFS), di attraversamento (collegano
vertici in alberi DSF distinti) o in avanti (non sono archi
- Un vertice si colora di NERO quando tutti i vertici ad dellalbero che connettono un vertice u ad un discendente v in
esso adiacenti sono stati visitati (quando cio la sua lista un albero DFS). I vertici sono etichettati con una coppia tempo
di adiacenza stata completamente esaminata). di scoperta/tempo di fine visita. Una linea tratteggiata
corrisponde ad un arco che porta ad un vertice gi visitato.
90
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

90
Esempio 4 Passo 22:
classificazione degli archi
s t B
C T T
T
F
C
z v u
T T C

B y w Archi dellalbero (sono archi dellalbero)


T C
Archi in avanti (non sono archi dellalbero)

x Archi di attraversamento (tutti gli altri archi)


Grafo ridisegnato con tutti gli archi dellalbero e tutti gli
Archi allindietro
archi in avanti che vanno verso il basso in un albero DFS e
tutti gli archi allindietro che vanno verso lalto da un
discendente ad un antenato.
91
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

91
Esempio 4 Passo 23:
struttura di parentesi (I)
I tempi di scoperta e di fine visita hanno una struttura di
parentesi. Se si rappresentano la scoperta di un vertice u con
una parentesi sinistra, e la fine della sua visita con una
parentesi destra, allora la storia degli eventi di scoperta e di
fine visita di tutti i vertici costituisce una espressione ben
formata, nel senso che le parentesi sono correttamente
bilanciate.

92
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

92
Esempio 4 Passo 23:
struttura di parentesi (II)

s t Gli intervalli tra il tempo di scoperta e


il tempo di fine visita di ogni vertice
corrisponde alla struttura di
parentesi. Ogni rettangolo
z v u corrisponde allintervallo tra il tempo
di scoperta e quello di fine visita del
corrispondente vertice. Se due
intervalli sono hanno una
y w
sovrapposizione, allora uno annidato
nellaltro ed il vertice corrispondente
allintervallo pi piccolo un
w discendente del vertice
corrispondente a quello pi grande.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
(s (z (y (x x) y) (w w) z) s) (t (v v) (u u) t)

93
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

93
Algoritmo di Kruskal

94
Esempio 1 Passo 1

Si considera larco (h,g).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

95
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

95
Esempio 1 Passo 2

Si considera larco (i,c).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

96
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

96
Esempio 1 Passo 3

Si considera larco (g,f).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

97
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

97
Esempio 1 Passo 4

Si considera larco (a,b).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

98
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

98
Esempio 1 Passo 5

Si considera larco (c,f).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

99
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

99
Esempio 1 Passo 6

Si considera larco (i,g).


Non lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

100
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

100
Esempio 1 Passo 7

Si considera larco (c,d).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

101
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

101
Esempio 1 Passo 8

Si considera larco (i,h).


Non lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

102
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

102
Esempio 1 Passo 9

Si considera larco (a,h).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

103
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

103
Esempio 1 Passo 10

Si considera larco (b,c).


Non lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

104
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

104
Esempio 1 Passo 11

Si considera larco (d,e).


Lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

105
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

105
Esempio 1 Passo 12

Si considera larco (e,f).


Non lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

106
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

106
Esempio 1 Passo 13

Si considera larco (b,h).


Non lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

107
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

107
Esempio 1 Passo 14

Si considera larco (d,f).


Non lo si inserisce in A

8 7
b c d
4 2 9
4
14
a 11 i e
Gli archi grigi appartengono alla
8 7 6 10 foresta A che viene costruita. Gli
archi sono considerati dallalgoritmo
h g f in ordine di peso crescente: in ogni
1 2
passo dellalgoritmo una freccia
punta allarco che viene considerato
in quel momento. Se larco unisce
due alberi distinti della foresta
esso viene aggiunto alla foresta e i
due alberi sono fusi in uno

108
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

108
Esempio 2 Passo 1
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

109
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

109
Esempio 2 Passo 2
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

110
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

110
Esempio 2 Passo 3
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

111
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

111
Esempio 2 Passo 4
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

112
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

112
Esempio 2 Passo 5
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

113
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

113
Esempio 2 Passo 6
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

114
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

114
Esempio 2 Passo 7
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

115
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

115
Esempio 2 Passo 8
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

116
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

116
Esempio 2 Passo 9
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

117
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

117
Esempio 2 Passo 10
In (1) vediamo il grafo di partenza, insieme
allelenco degli archi in ordine non decrescente
di peso. In (2) viene considerato il primo arco
{1,4}: dal momento che collega due nodi ancora
3 5 separati, viene aggiunto allalbero in
0 1 2 costruzione. Nella figura lalbero in costruzione
sempre rappresentato dagli archi pi spessi.
6 4 3 2 In (3) consideriamo il secondo arco {2,5}: anche
1 1 2 e 5 sono ancora separati, quindi larco viene
2 1 3 aggiunto. In (4) consideriamo il terzo arco
3 4 5 6 {4,5}: poich 4 e 5 sono separati aggiungiamo
anche questo arco. Con un procedimento analogo
vengono aggiunti gli archi {4,7} (e), {2,6} (f) e
1 3 2 {3,4} (g). Larco successivo {3,7};notiamo per
2 5 2 che 3 e 7 sono gi collegati (passando per il
nodo 4), quindi questo arco viene scartato.
7 8 9 Viene invece aggiunto {5,9} (h), che collega 9
4 2 agli altri nodi. Anche larco {6,9} viene
scartato, poich 6 e 9 sono collegati dal
cammino che passa per 2 e 5; larco successivo
{8,9} che viene aggiunto (9). Da ultimo viene
aggiunto {0,1} (10); a questo punto lalbero
completo e tutti gli archi successivi vengono
scartati in quanto collegano nodi gi collegati.

118
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

118
Algoritmo di Prim

119
Esempio 1 Passo 0

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

120
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

120
Esempio 1 Passo 1

Il vertice a la radice

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

121
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

121
Esempio 1 Passo 2

Il vertice b viene
aggiunto allalbero

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

122
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

122
Esempio 1 Passo 3

Il vertice c viene
aggiunto allalbero. Anche
il vertice h poteva essere
8 7 scelto
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

123
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

123
Esempio 1 Passo 4

Il vertice i viene aggiunto


allalbero

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

124
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

124
Esempio 1 Passo 5

Il vertice f viene
aggiunto allalbero

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

125
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

125
Esempio 1 Passo 6

Il vertice g viene
aggiunto allalbero

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

126
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

126
Esempio 1 Passo 7

Il vertice h viene
aggiunto allalbero

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

127
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

127
Esempio 1 Passo 8

Il vertice d viene
aggiunto allalbero

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

128
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

128
Esempio 1 Passo 9

Il vertice e viene
aggiunto allalbero

8 7
b c d
4 2 9
4
14
a 11 i e
La radice a; gli archi grigi appartengono
allalbero che viene costruito, ed i vertici
8 7 6 10 nellalbero sono in nero. Ad ogni passo
dellalgoritmo i vertici nellalbero
h g f determinano un taglio del grafo ed un arco
1 2
leggero che attraversa il taglio viene
aggiunto allalbero. Nel secondo passo, per
esempio, lalgoritmo pu scegliere se
aggiungere larco (b,c) oppure larco (a,h)
allalbero, perch entrambi sono leggeri che
attraversano il taglio.

129
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

129
Esempio 2 Passo 0

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Proseguendo con questo sistema, vengono
aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
{6,9} (7), {9,8}
(8), {4,3} (9) e infine {1,0} (10).

130
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

130
Esempio 2 Passo 1

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

131
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

131
Esempio 2 Passo 2

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

132
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

132
Esempio 2 Passo 3

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

133
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

133
Esempio 2 Passo 4

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

134
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

134
Esempio 2 Passo 5

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

135
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

135
Esempio 2 Passo 6

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

136
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

136
Esempio 2 Passo 7

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

137
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

137
Esempio 2 Passo 8

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

138
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

138
Esempio 2 Passo 9

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

139
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

139
Esempio 2 Passo 10

Lalbero costituito solo dal nodo di partenza, e


gli archi considerati sono quelli che escono da
3 5 esso. Fra di essi il peso minimo 2, quindi si
sceglie un arco di peso 2, ad esempio
0 1 2 larco{6,2}, che viene inserito nellalbero (2). Si
6 4 3 2 pu qui notare la differenza con lalgoritmo di
Kruskal, che scegliendo un arco con peso minimo
1 1 fra tutti avrebbe scelto un arco di peso 1.
2 1 3 Dopo aver aggiunto {6,2} allalbero si devono
3 4 5 6 considerare anche gli archi che partono dal nodo
2; fra questi il peso minimo 1 e lalgoritmo
sceglie quindi larco {2,5} (3). Al passo
1 3 2 successivo dovremo considerare anche gli archi
2 5 2 che escono da 5; notiamo per che non viene pi
7 8 9 considerato (non pi tratteggiato) larco da 3
a 5: infatti ora questo arco collega due nodi
4 2 dellalbero e dunque non attraversa il taglio.
Per ottenere leffetto che vogliamo, ossia di avere il nodo da aggiungere sempre in cima alla coda, Proseguendo con questo sistema, vengono
dobbiamo impostare la priorit nel modo seguente:
- Un nodo che non collegabile allalbero tramite un arco deve avere una priorit infinita, o per lo aggiunti gli archi {5,4} (4), {4,1} (5) {4,7} (6),
meno talmente alta da non essere mai in cima alla coda (una priorit pi alta di tutti i pesi presenti nel {6,9} (7), {9,8}
grafo andrebbe bene). (8), {4,3} (9) e infine {1,0} (10).
-Un nodo collegabile allalbero tramite un arco deve avere priorit pari al minor peso fra tutti gli
archi che lo collegano allalbero.
- La priorit dei nodi gi collegati allalbero non ci interessa pi, in quanto vengono rimossi dalla coda.

140
Francesco Marino FDI 2 Anno Accademico 2004 - 2005

140