Sunteți pe pagina 1din 4

GRAFURI

Fie V o multime nevida. Se numeste graf neorientat perechea G(V,U), unde U inclus VxV, a.. (x,x) nu
apartine lui U, cu x din V.
V multimea varfurilor (nodurilor)
U multimea muchiilor se noteaz cu paranteze patrate si nu conteaza ordinea. Se reprezinta grafic
prin linii.
5
4
Ex.
1
6

3
V={1,2,3,4,5}
U={[1,2];[2,4];[2,5];[3,4];[4,5]}
2 noduri x si y se numesc adiacente daca [x,y] apartine lui U. In acest caz muchia [x,y] se numeste
incident cu nodurile x si y.
Reprezentare in memorie
1) Matrice de adiacenta. Un graf cu n noduri va fi reprezentat printr-o matrice ptratic cu n linii si
coloane. A[x][y]=1, daca [x,y] sau [y,x] apartine lui U. Altfel A[x][y]=0.
Ex. pentru graful de mai sus
010000
100110
000100
011010
010100
000000
Obs. Matricea de adiacenta este simetrica fata de diagonala principala.
2) Liste de adiacenta. Pentru fiecare nod se enumera nodurile cu care este adiacent.
Ex. pentru graful de mai sus :
1: 2
2: 1, 4, 5
3: 4
4: 2, 3, 5
5: 2, 4
6: Numarul maxim de muchii ale unui graf: n(n-1)/2 (numarul de elemente de deasupra diagonalei
principale).
Numarul total de grafuri neorientate cu n noduri: 2n(n-1)/2
Def. Se numeste lant o succesiune de noduri x0, x1, x2, ..., xm astfel incat [xi-1,xi] apartine lui U, oricare ar fi
i de la 1 la n. Lungimea lantului este numarul de muchii (!) m in cazul acesta.

Ex. in graful exemplificat: 3,4,5,2,1 lungimea este 4!


Def. se numeste lant elementar un drum in care toate nodurile sunt distincte.
Def. se numeste ciclu un drum in care primul si ultimul nod sunt identice.
Def. Ciclu elementar nodurile sunt distincte cu exceptia primului si ultimului.
Def. Se numeste componenta conexa o submultime de noduri ale grafului astfel incat exista lant intre
oricare 2 elemente ale submultimii si submultimea este maximala cu aceasta proprietate.
Obs. Componentele conexe formeaza o partitie a multimii nodurilor (V).
Pentru graful de mai sus exista 2 componente conexe: {1,2,3,4,5} si {6}
Gradul unui nod este numarul de noduri adiacente cu el. Gradul lui x d(x). Ex. d(1)=1, d(2)=3, d(6)=0.
Def. Un nod cu gradul 0 se numeste nod izolat.
Numarul de grafuri care se pot construi cu n noduri
Doua grafuri sunt distincte daca difera prin matricea de adiacenta.
Ex. n=3. Grafurile posibile
0 muchii 1 graf
1 muchie 3 grafuri
2 muchii 3 grafuri
3 muchii 1 graf
In total 8
Cm0+ Cm1 +Cm2 ++Cmm=2m (Cm0 combinari de m luate cate 0 etc.)
Unde m este numarul maxim de muchii. m=Cn2=n(n-1)/2
Numarul total de grafuri neorientate cu n noduri este 2n(n-1)/2.
Def. se numeste ciclu hamiltonian un ciclu care trece prin toate nodurile grafului o singura data.
Un graf care admite un ciclu hamiltonian se numeste graf hamiltonian.
Def. Se numeste ciclu eulerian un ciclu care trece prin toate muchiile unui graf o singura data.
Un graf conex care admite un ciclu eulerian se numeste graf eulerian.
Ex. Graful complet cu 5 noduri este si hamiltonian si eulerian.
Graf complet = are toate muchiile posibile.
Teorema. Un graf este eulerian daca si numai daca gradul fiecarui nod este par.
GRAFURI ORIENTATE
Fie V o multime nevida. Se numeste graf orientat perechea G(V,U), unde U inclus VxV, a.. (x,x) nu
apartine lui U, cu x din V.
V multimea varfurilor (nodurilor)
U multimea arcelor se noteaz cu paranteze rotunde si conteaza ordinea. Se reprezinta grafic prin
sageti.
Notiunile de adiacenta si incidenta sunt similare cu cele de la grafuri neorientate, ca si modalitatile de
reprezentare in memorie. Obs. (x,y) apartine lui U, atunci a[x][y]=1. Matricea de adiacenta nu mai este
simetrica fata de diagonala principala.

Numarul maxim de arce ale unui graf: n(n-1)


Numarul total de grafuri orientate cu n noduri: 2n(n-1)
5
1

Ex. V={1,2,3,4,5}
U={(1,2);(2,1);(1,4);(3,2)}
Corespunzator notiunii de lant (graf neorientat) avem notiunea de drum. Ex. 3,2,1,2,1,4
Drum elementar / neelementar.
Ciclu circuit (elementar).
Componenta conexa componenta tare-conexa. Ex. {1,2} {5} {3} {4}
Grad interior numarul de arce care vin la un nod. Ex. d-(1)=1, d-(2)=2, d-(3)=0
Grad exterior numarul de arce care pleaca de la un nod. Ex. d+(1)=2, d+(2)=1, d+(4)=0
Graf neorientat
Graf orientat
Muchie linie
Arc sageata
Lant
Drum
Ciclu
Circuit
Grad
Grad interior / exterior
Componenta conexa
Componenta tare-conexa
Nr. max muchii: n(n-1)/2
Nr. max arce: n(n-1)
Nr. maxim grafuri: 2n(n-1)/2
Nr. maxim grafuri: 2n(n-1)
matricea de adiacenta: simetrica fata de diag. princ.
matricea de adiacenta: nesimetrica fata de diag. princ.

ARBORI
Def. Un graf neorientat conex si fara cicluri se numeste arbore.
Teorema. Un arbore cu n noduri are n-1 muchii.
Obs. Daca ar avea mai putine muchii n-ar mai conex si daca ar avea mai multe muchii ar avea cicluri.
1

Un arbore poate fi desenat ca un arbore cu radacina. Se alege un nod care va fi radacina si este asezat
cel mai sus - pe primul nivel (nivelul 0). Succesorii lui (nodurile care sunt adiacente cu el) sunt asezati pe
urmatorul nivel (1), iar succesorii acestora pe nivelul al 2-lea s.a.m.d.
Orice nod ar putea fi ales, pe rand, ca si radacina.
Ex. daca alegem radacina 5 arborele va arata astfel:

1
Nivelul maxim al unui arbore cu radacina se numeste inaltimea arborelui. In arborele de mai sus este 3.
Intr-un arbore cu radacina, nodurile care nu au succesori se numesc frunze. Ex. 1,3
Succesorii unui nod se numesc fii. Ex. fiii lui 4: 2 si 3; fiii lui 5: 4.
Modalitati de reprezentare in C++.
3) Matrice de adiacenta
4) Liste de adiacenta
5) Vector de tati: Pentru radacina valoarea elementului corespunzator in vector e 0, iar pt
celelalte noduri este nodul tata.
Ex. pentru arborele cu radacina de mai sus:
12345
(2,4,4,5,0)
Frunze noduri ce nu apar in vectorul de tati.

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