Documente Academic
Documente Profesional
Documente Cultură
STUDENTI:
NANE ANAMARIA-STEFANIA
BRUMA MARIA
INTRODUCERE
În matematică și informatică, teoria grafurilor studiază
proprietățile grafurilor. Un graf este o mulțime de
obiecte (numite noduri) legate între ele printr-o mulțime
de muchii cărora le pot fi atribuite direcții (în acest caz,
se spune că graful este orientat). Un graf poate fi
reprezentat geometric ca o mulțime de puncte legate între
ele prin linii (de obicei curbe).
INTRODUCERE
Dezvoltarea teoriei grafurilor a pornit de la probleme legate de jocuri și amuzamente matematice menite a
testa ingeniozitatea. Acestea au atras atenția unor matematicieni experimentați ca Euler, Hamilton, Cayley
, Birkhoff iar cu trecerea anilor teoria grafurilor a devenit un domeniu bogat in rezultate și de o
surprinzătoare varietate și aplicabilitate.
Grafurile au o importanță imensă în informatică, de exemplu:
• în unele problemele de sortare și căutare - elementele mulțimii pe care se face sortarea sau căutarea se pot
reprezenta prin noduri într-un graf;
• schema logică a unui program se poate reprezenta printr-un graf orientat în care o instrucțiune sau un bloc
de instrucțiuni este reprezentat printr-un nod, iar muchiile direcționate reprezintă calea de execuție;
• în programarea orientată pe obiecte, ierarhia obiectelor (claselor) unui program poate fi reprezentată
printr-un graf în care fiecare nod reprezintă o clasă, iar muchiile reprezintă relații între acestea (derivări,
agregări).
INTRODUCERE
Ideea de bază a algoritmului este următoarea: dacă drumul minim între două
vîrfuri oarecare i și j trece printr-un vârf k, atunci drumurile de la i la k și de la
k la j sunt la rândul lor minime.
Putem deci să-i dăm lui k, pe rând, valorile 1, 2,..., n și să comparăm apoi: dij
cu dik + dkj.
Dacă suma este mai mică, drumul inițial de la i la j se poate înlocui cu cel
indirect i - k – j.
PREZENTAREA ALGORITMULUI
for k = 1 to n do
for i = 1 to n do
for j = 1 to n do
dij(k) = min{dij(k-1) , dik(k-1) + dkj(k-1)};