Documente Academic
Documente Profesional
Documente Cultură
in probleme practice
Grafurile
Numim graf o pereche ordonat
de mulimi, notat G=(X,U), unde:
X este o mulime finit i nevid de
elemente numite noduri sau vrfuri,
U este o mulime de perechi ordonate sau
neordonate de elemente din X.
Pai, e simplu.
Graf neorientat
Graf orientat
Aplicarea in probleme
practice
Cred ca acum toata lumea a inteles ce
sunt grafurile. In continuare vom ilustra
cateva exemple de situatii concrete in care
grafurile ne sunt de ajutor in rezolvarea
unor probleme.
Pasi
1. Se creeaz o list cu distane, o list cu nodul anterior, o list cu
nodurile vizitate i un nod curent.
2. Toate valorile din lista cu distane sunt iniializate cu o valoare
infinit, cu excepia nodului de start, care este setat cu 0.
3. Toate valorile din lista cu nodurile vizitate sunt setate cu fals.
4. Toate valorile din lista cu nodurile anterioare sunt iniializate cu -1.
5. Nodul de start este setat ca nodul curent.
6. Se marcheaz ca vizitat nodul curent.
7. Se actualizeaz distanele, pe baza nodurilor care pot fi vizitate
imediat din nodul curent.
8. Se actualizeaz nodul curent la nodul nevizitat care poate fi vizitat
prin calea cea mai scurt de la nodul de start.
9. Se repet (de la punctul 6) pn cnd toate nodurile sunt vizitate.
C++
void dijkstra(int x0)
{ int i, j, min, k, ok;
int viz[NMAX], d[NMAX],
tata[NMAX];
for (i = 1; i<=n; i++)
{d[i] = C[x0][i];
tata[i] = x0;
viz[i] = 0; }
tata[x0] = 0;
viz[x0] = 1; ok = 1;
while (ok)
{min = INFINIT;