volgende [0] = '*';
for (i = 1; i
{
status van [i] = '? ";
dist [i] = a [i] [0];
volgende [i] = v0;
}
/* PROCESSING * /
voor (j = 0; j
{
//AFDRUKKEN
printf ("\\ nVERTEX | ');
for (i = 0; i
printf ("% c \\ t", v [i]);
printf ("\\ n") ;
for (i = 0; i
printf ("---------");
printf ("\\ nSTATUS |");
for (i = 0; i
printf ("% c \\ t", de status van [i]);
printf ("\\ NDIST | ');
for (i = 0; i
printf ("% d \\ t", dist [i]);
printf ("\\ Nnext | ');
for (i = 0; i
printf ("% c \\ t", naast [i]);
/* PROCESS * /
of (j
{
for (i = 1; '?' i
als (status van [i] ==)
{
min = dist [i];
r = i;
breken;
}
for (i = 0; i
als (status van [i] == && dist [i]
{
min = dist [i] '?';
r = i;
}
v1 = v [r];
status van [r] = '';
for (i = 0; i
{
als (status van [i] == '?' && dist [i]> (dist [r] + een [r] [i]))
{
dist [i] = dist [r] + een [r] [i];
volgende [i] = v1;
}
}
getch ();
}
printf ("\\ n \\ n");
}
printf (" \\ n \\ nDe randen opgenomen in de Spaning boom zijn: - \\ n \\ n ");
for (i = 1; i
printf ("% c% c ", naast [ ,,,0],i], 65 + i);
printf ("\\ n \\ n ** GEWICHT VAN MINIMAAL Spaning boom =");
for (i = 1; i
< p> {
voor (j = 0; j
{
als (naast [i] == v [J])
{
if (i == n-1)
printf ("% d", een [j] [i]);
anders
printf ("% d +", een [j] [i]);
s = s + a [j] [i];
breken;
}
}
}
printf ("\\ n \\ t \\ t \\ t \\ t =% d", s);
getch ();
printf ("\\ n \\ nSHORTEST AFSTAND VAN \\ n");
for (i = n-1; i> 0; Ik--)
{
printf ("\\ n \\ t \\ t% c ->% c =% c ->% c", v [i], v0, v [i], naast de [i]);
v1 = volgende [i];
voor (j = n-1; v1 = 'A';! j--)
{
if ( v [j] == v1)
{
printf ("->% c", naast [j]);
v1 = volgende [j];
}
}
printf ("= -" dist [i]);
}
getch ();
}
Output: -
DIJKSTAR algoritme
--------------------
Voer het aantal hoekpunten: 7
Voer de lengte matrix van de grafiek:
00 03 06 99 99 99 99
03 00 02 04 99 99 99
06 02 00 01 04 02 99
99 04 01 00 02 99 04
99 99 04 02 00 02 01
99 99 02 99 02 00 01
99 99 99 04 01 01 00
VERTEX | A B C D E F G
------------------------------------- --------------------------
STATUS | !