Documente Academic
Documente Profesional
Documente Cultură
drumuri maxime
intr-un graf
A=
F2
0, daca i=j;
-, daca nu exista arc de cost
de la i la j;
A=
0
+
+
+
7
0
6
+
+
+
0
+
3
4
2
0
2
3
4
V={(1,2)(1,4)(2,3)(3,2)(4,3)(5,1)}
u1 u2 u3 u4 u5 u6
u1= 4; u2=6; u3=9;
u4=1 ; u5=7; u6=3;
0
+
drumuri
A= +
minime
+
3
0
drumuri
-
maxime
A=
-
-
3
4
0
+
1
9
+
+
6
+
+
+
+
+
0
+
+
0
pentru
0
-
-
7
0
-
-
-
0
9
-
-
pentru
void lungime_drumuri ()
{ int i , j , k;
for ( k=1; k<=n; k++)
for ( i=1; i<=n; i++)
for ( j=1; j<=n; j++)
if ( a[i][j]>a[i][k]+a[k][j] )
a[i][j]=a[i][k]+a[k][j];}
void citire_cost()
{ cout<< n= ;
cin >> n ;
for (i=1 ; i<=n; i++ )
for (j=1; j<=n; j++)
cin >>a[i][j]; }
void main ()
{ citire_cost();
lungime_drumuri();
scriu_drum( 5,p);}
s [poz]=1;
for (j=1; j<=n; j++)
if (s[ j]==0)
if (d [j]> d [poz]+a[poz][ j])
{ d [ j]=d[poz]+a[poz][ j] ;
t[ j]=poz ; } }
for (i=1; i<=n; i++)
cout<< d[ i]<< ;
cout<<endl;
for (i=1; i<=n; i++)
if (i != r)
if (t[ i]==1)
cout<<distanta de la<< r<<la<<
i<<este<< d [ i] <<endl ;
drum ( i) ;
else
cout<<nu exista drum de la<< r<< la <<
i<<endl; }