*   >> Læs Uddannelse artikler >> science >> programming

Dijkstra & amp; rsquo; s Algorithm

scanf ("% d", og en [i] [j]);

/* INITIALISERING * /

for (i = 0; i

v [i] = 65 + i,

v0 = 'A';

status [0] = '!';

dist [0] = 0;

næste [0] = '*';

for (i = 1; jeg

{

status [i] = '? «

dist [i] = en [i] [0];

næste [i] = V0,

}

/* BEHANDLING * /

for (j = 0; j

{

//PRINTING

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", status [i]);

printf ("\\ nDIST |")

for (i = 0; i

printf ("% d \\ t", dist [i]);

printf ("\\ nNæste |")

for (i = 0; i

printf ("% c \\ t", næste [i]);

/* PROCES * /

hvis (j

{

for (i = 1; '?' Jeg

if (status [i] ==)

{

min = dist [i];

r = i;

break;

}

for (i = 0; i

Hvis (status [i] == && dist [i]

{

min = dist [i] '?';

r = i;

}

v1 = v [r];

status [r] = '!';

for (i = 0; i

{

if (status [i] == '?' && dist [i]> (dist [r] + en [r] [i]))

{

dist [i] = dist [r] + en [r] [i];

næste [i] = v1,

}

}

getch ();

}

printf ("\\ n \\ n")

}

printf (" \\ n \\ nDen kanter inkluderet i spaning træet er: - \\ n \\ n ")

for (i = 1; jeg

printf ("% c% c ", næste [ ,,,0],i], 65 + i),

printf ("\\ n \\ n ** VÆGT AF MINIMAL SPANING træ er =")

for (i = 1; i

< p> {

for (j = 0; j

{

if (næste [i] == v [j])

{

hvis (i == n-1)

printf ("% d", en [j] [i]);

andet

printf ("% d +", en [j] [i]),

s = s + et [j] [i];

break;

}

}

}

printf ("\\ n \\ t \\ t \\ t \\ t =% d", s);

getch ();

printf ("\\ n \\ nSHORTEST AFSTAND FRA \\ n")

for (i = n-1, i> 0; jeg--)

{

printf ("\\ n \\ t \\ t% c ->% c =% c ->% c", v [i], v0, v [i], næste [i]);

v1 = næste [i];

for (j = n-1, v1 = 'A';! j--)

{

if ( v [j] == v1)

{

printf ("->% c", næste [j]),

v1 = næste [j];

}

}

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.