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 .
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
15
Esempio 2 Passo 1
1 Albero
Inizializzazione
1 2 3
Q 1
4 5 6
Q = Frontiera = Insieme vertici GRIGI
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
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
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
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
20
Conclusioni
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
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].
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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 /
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
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
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
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
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
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
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
80
Esempio 4 Passo 12
y z s t Foresta
T T 1/
7/8 3/6
T B T
4/5
4/5 7/8
x w v u
81
Esempio 4 Passo 13
y z s t Foresta
T T 1/
7/8 3/6
T B T F
4/5
4/5 7/8
x w v u
82
Esempio 4 Passo 14
y z s t Foresta
T T 1/10
7/8 3/6
T B T F
4/5
4/5 7/8
x w v u
83
Esempio 4 Passo 15
y z s t Foresta
T T 1/10 11/
7/8 3/6
T B T F
4/5
4/5 7/8
x w v u
84
Esempio 4 Passo 16
y z s t Foresta
T T 1/10 11/
7/8 3/6
T B T F T
4/5
x w v u
85
Esempio 4 Passo 17
y z s t Foresta
T T 1/10 11/
7/8 3/6
T B T F T
4/5
x w v u
86
Esempio 4 Passo 18
y z s t Foresta
T T 1/10 11/
7/8 3/6
T B T F T
4/5
x w v u
87
Esempio 4 Passo 19
y z s t Foresta
T T 1/10 11/
7/8 3/6
T B T F T
4/5
x w v u
88
Esempio 4 Passo 20
y z s t Foresta
T T 1/10 11/16
7/8 3/6
T B T F T T
4/5
x w v u
89
Esempio 4 Passo 21
y z s t Foresta
C B
T T 1/10 11/16
x w v u
90
Esempio 4 Passo 22:
classificazione degli archi
s t B
C T T
T
F
C
z v u
T T C
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)
93
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
93
Algoritmo di Kruskal
94
Esempio 1 Passo 1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
130
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
130
Esempio 2 Passo 1
131
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
131
Esempio 2 Passo 2
132
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
132
Esempio 2 Passo 3
133
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
133
Esempio 2 Passo 4
134
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
134
Esempio 2 Passo 5
135
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
135
Esempio 2 Passo 6
136
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
136
Esempio 2 Passo 7
137
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
137
Esempio 2 Passo 8
138
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
138
Esempio 2 Passo 9
139
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
139
Esempio 2 Passo 10
140
Francesco Marino FDI 2 Anno Accademico 2004 - 2005
140