Cammini minimi tra tutte le coppie - PowerPoint PPT Presentation

About This Presentation
Title:

Cammini minimi tra tutte le coppie

Description:

Title: Strutture Dati Elementari Author: luciano margara Last modified by: maniezzo Created Date: 12/7/2001 7:54:32 AM Document presentation format – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 14
Provided by: luciano92
Category:
Tags: cammini | coppie | lucid | minimi | tra | tutte

less

Transcript and Presenter's Notes

Title: Cammini minimi tra tutte le coppie


1
Cammini minimi tra tutte le coppie
2
Cammini minimi tra tutte le coppie
Dato un grafo (orientato o non orientato) G
(V,E) con funzione di peso w E ? R, trovare per
ogni coppia di vertici u,v ? V il minimo peso di
un cammino da u a v. Verrà calcolata anche una
matrice di predecessori ?(?uv) dove ?uv è NIL se
uv o se non cè un cammino da u a v, altrimenti
è un predecessore di v su di un cammino minimo da
u. Il sottografo indotto dalli-esima riga della
matrice ? sarà un albero di cammini minimi con
radice in i.
3
Algoritmo di Floyd-Warshall
E un algoritmo di programmazione dinamica, può
gestire archi di peso negativo ma si assume che
non ci siano cicli negativi. Idea
ds,t(i) cammino minimo da s a t contenente solo
i vertici intermedi v1, ..., vi
ds,t(0) w(s,t)
4
Algoritmo di Floyd-Warshall idea
ds,t(i) cammino minimo da s a t contenente solo
i vertici intermedi v1, ..., vi
ds,t(0) w(s,t)
w(s,t) if k 0 minds,t(k-1), ds,k(k-1)
dk,t(k-1) if k gt 0
ds,t(k)
5
Algoritmo di Floyd-Warshall
Floyd-Warshall(W) 1 nrowsW 2 D(0)W 3 for k
1 to n do 2 for i 1 to n do 3 for j 1 to
n do 4 dij(k) min(dij(k-1), dik(k-1)
dkj(k-1)) 5 return D(n)
6
Algoritmo di Floyd-Warshall esempio
W
2
4
3
7
0 3 8 ? -4
? 0 ? 1 7
? 4 0 ? ?
2 ? -5 0 ?
? ? ? 6 0
1
1
3
8
2
-4
-5
4
5
6
7
Algoritmo di Floyd-Warshall esempio
D(0) ?(0)
0 3 8 ? -4
? 0 ? 1 7
? 4 0 ? ?
2 ? -5 0 ?
? ? ? 6 0
1 1 1
2 2
3
4 4
5
8
Algoritmo di Floyd-Warshall esempio
D(1) ?(1)
0 3 8 ? -4
? 0 ? 1 7
? 4 0 ? ?
2 5 -5 0 -2
? ? ? 6 0
1 1 1
2 2
3
4 1 4 1
5
9
Algoritmo di Floyd-Warshall esempio
D(2) ?(2)
0 3 8 4 -4
? 0 ? 1 7
? 4 0 5 11
2 5 -5 0 -2
? ? ? 6 0
1 1 2 1
2 2
3 2 2
4 1 4 1
5
10
Algoritmo di Floyd-Warshall esempio
D(3) ?(3)
0 3 8 4 -4
? 0 ? 1 7
? 4 0 5 11
2 -1 -5 0 -2
? ? ? 6 0
1 1 2 1
2 2
3 2 2
4 3 4 1
5
11
Algoritmo di Floyd-Warshall esempio
D(4) ?(4)
0 3 -1 4 -4
3 0 -4 1 -1
7 4 0 5 3
2 -1 -5 0 -2
8 5 1 6 0
1 4 2 1
4 4 2 1
4 3 2 1
4 3 4 1
4 3 4 5
12
Algoritmo di Floyd-Warshall esempio
D(5) ?(5)
0 3 -3 2 -4
3 0 -4 1 -1
7 4 0 5 3
2 -1 -5 0 -2
8 5 1 6 0
1 4 5 1
4 4 2 1
4 3 2 1
4 3 4 1
4 3 4 5
13
Algoritmo di Floyd-Warshall complessità
Determinata dei tre cicli for. Ogni esecuzione
dellistruzione interna è O(1), quindi
T(V,E) ?(n3) ?(V3)
Write a Comment
User Comments (0)
About PowerShow.com