Sunteți pe pagina 1din 7

Reprezentarea grafurilor

neorientate

Prof. ADINA-ELENA PIŢIGOI


1. Se precizează numărul de vârfuri şi
matricea de adiacenţă A a grafului,
care este o matrice pătratică de
ordinul n, cu elemente:

1, dacă [i, j]  U


A[i, j ]  
0, în caz contrar
Reprezentarea grafurilor
neorientate
2.a) Se precizează numărul de vârfuri
şi pentru fiecare vârf i, lista Li a
vecinilor săi, adică lista vârfurilor j
pentru care [i,j]єU.
Acest mod de reprezentare utilizează
un tablou bidimensional T cu 2 linii
şi n+2m coloane, unde m este
numărul de muchii ale lui G.
T[1,i]=i, i=1,n
Reprezentarea grafurilor
neorientate
T[2,i] reprezintă indicele coloanei din T în
care este dat primul element din lista Li a
vecinilor lui i; dacă i este un vârf izolat
atunci T[2,i]=0. Dacă T[2,i]=j atunci T[1,j]
este primul dintre vecinii lui i iar T[2,j] este
coloana în T în care apare următorul
element din lista Li. Dacă u este indicele lui
T în care apare ultimul element w din Li
atunci T[1,u]=w şi T[2,u]=0.
Reprezentarea grafurilor
neorientate
b) Putem reprezenta graful utilizând o
matrice L cu 2 linii şi 2m coloane, prima
linie memorând cele n liste de vecini
asociate vârfurilor grafului, înlănţuirea
elementelor din aceleaşi liste făcându-se
pe baza componentelor corespunzătoare
din linia a doua. Indicele coloanei din L
care conţine primul element al listei Li se
precizează în componenta i a unui tablou
unidimensional CAP.
Reprezentarea grafurilor
neorientate
3. Se dau numărul n de vârfuri, numărul m
de muchii, precum şi două tablouri
unidimensionale e1 şi e2 cu câte m
componente fiecare, conţinând
extremităţile muchiilor grafului, adică
U={[e1[1], e2[1]], [e1[2], e2[2]], …. ..
[e1[m], e2[m]], }
Reprezentarea grafurilor
neorientate
O variantă de implementare naturală ar fi aceea de
a defini o structură numită muchie care să
conţină cele două extremităţi ale unei muchii şi
apoi de a defini un tablou cu n componente de
acest tip:
struct muchie
{unsigned int x,y;
};
……………………
muchie u[n];

S-ar putea să vă placă și