Sunteți pe pagina 1din 6

Grafuri neorientate

Un graf neorientat este o pereche ordonata G=(V,E), unde:


o V={v1,v2,,vn} este o multime finita si nevida. Elementele
multimii V se numesc noduri(varfuri).
o E este o multime finita de perechi neordonate de forma
(vi,vj), unde i j si vi,vj apartin lui V. Elementele multimii E
se numesc muchii. Semnificatia unei muchii este aceea ca
uneste doua noduri.
In graful G=(V,E), nodurile distincte vi, vj G sunt adiacente
daca exista muchia (vi, vj) E.
Vom spune ca muchia (vi, vj) E este incidenta la nodurile vi
si vj.
Intr-un graf neorientat, prin gradul unui nod v se intelege
numarul muchiilor incidente cu nodul v si se noteaza cu d(v).
Un nod de gradul 0 se numeste nod izolat, iar unul cu gradul 1
se numeste nod terminal.
O relatie utila: fie un graf neorientat cu n noduri si m
muchii. Daca notam cu d1, d2, , dn gradele celor n noduri,
atunci avem relatia:
d1 + d2 + d3 + + dn = 2m

Memorarea grafurilor
Prin matricea de adiacenta
o An,n o matrice patratica, unde elementele ei, ai,j au
semnificatia:
ai,j=

1, pentru(i, j) E
0, pentru(i , j) E

o Nu exista muchii de la un nod la el insusi,rezulta ca


elementele de pe diagonal principal retin 0.
ai.j=0, i {1,2,,n}
o Matricea de adiacenta este simetrica:
ai,j=aj,i, i , j {1,2,,n}
Prin liste de adiacenta

o Listele de adiacenta reprezinta o alta forma de memorare a


grafurilor, in care pentru fiecare nod se cunoaste lista nodurilor
adiacente cu el.

Prin liste de adiacenta implementate prin


utilizarea alocarii dinamice

o Un vector cu n componente,corespunzatoare celor n noduri,va


retine adresele de inceput ale celor n liste liniare simplu inlantuite.
o Fiecare lista simplu inlantuita contine nodurile in ordinea inversa
introducerii lor.Algoritmul se simplifica daca fiecare nod se
introduce la inceputul listei.

Prin lista muchiilor


o Se utilizeaza un vector de m componente,unde m este numarul
muchiilor.Fiecare componenta va retine cele doua noduri la care
muchia respective este incidenta si,in anumite cazuri alte informatii
referitoare la muchia respectiva.

Graf complet
o Prin graf complet vom intelege un graf neorientat in care oricare
doua noduri sunt adiacente. Vom nota un graf complet prin K n, unde
n este numarul de noduri ale grafului.
Intr-un graf complet, gradul oricarui nod este n-1. Evident, din
fiecare nod, pleaca (sosesc) n-1 muchii.
Intr-un graf complet, avem relatia: m=

n(n1)
, unde m este
2

numarul de muchii,iar n, numarul de noduri.

Graf partial,subgraf
Un graf partial al unui graf neorientat dat G=(V,E) este un graf
G1=(V,E1), unde E1 E.Un graf partial al unui graf dat este el insusi
sau se obtine din G prin suprimarea anumitor muchii.
Un subgraf al unui graf neorientat G=(V,E) este un graf G 1=(V1,E1),
unde V1 V, E1 E, iar multimile din E1 sunt toate muchiile din E
care sunt incidente numai la noduri din multimea V 1.

Parcurgerea grafurilor neorientate


Prin parcurgerea grafurilor intelegem o modalitate de vizitare a
nodurilor acestuia.

Parcurgerea in latime (BF Breadth First)


Parcurgerea in latime se face incepand de la un anumit nod I,
pe care il consideram vizitat.
Vizitam apoi toate nodurile adiacente cu el fie ele j 1, j2, , jk,
vizitate in aceasta ordine.
Vizitam toate nodurile adiacente cu j 1, apoi cu j 2, , apoi cu j k.

Parcurgerea continua in acest mod pana cand au fost vizitate
toate nodurile accesibile.

Parcurgerea in adancime(DF Depth First)


Parcurgerea in adancime se face incepand de la un anumit nod
i, pe care il consideram vizitat.
Dupa vizitarea unui nod, se viziteaza primul dintre nodurile
adiacente, nevizitate inca, apoi urmatorul nod adiacent, pana
cand au fost vizitate toate nodurile adiacente cu el.

Parcurgerea continua in acest mod pana cand au fost vizitate
toate nodurile accesibile .

Lanturi
Pentru graful neorientat G=(V,E), un lant L=[v1,v2,,vp] este o
succesiune de noduri cu proprietatea ca oricare doua noduri vecine
sunt adiacente. De altfel, un lant poate fi definit prin succesiunea de
muchii (v1,v2) E, (v2,v3) E,, (vp-1,vp) E.
Varfurile v1 si vp se numesc extremitatile lantului.
Numarul p-1 se numeste lungimea lantului. Acesta este dat de
numarul de muchii ce unesc nodurile lantului.
Se numeste lant elementar un lant care contine numai noduri
distincte.

Graf conex
Un graf neorientat G=(V,E) este conex daca pentru orice pereche de
noduri x,y V, exista un lant in care extremitatea initiala este x si
extremitatea finala este y.
Un graf cu un singur nod este, prin definitie, conex. Aceasta
pentru ca nu exista doua noduri diferite pentru care sa se puna
problema existentei unui lant.

Componente conexe
Fie G=(V,E) un graf neorientat si G1=(V1,E1) un subgraf al sau. Atunci
G1=(V1,E1) este o componenta conexa a grafului G=(V,E) daca sunt
indeplinite conditiile de mai jos:
a) Oricare ar fi x,y V1, exista un lant de la x la y.
b) Nu exista un alt subgraf al lui G, G 2=(V2,E2) cu V1 V2 care
indeplineste conditia a).

Cicluri
Un lant L care contine numai muchii dinstincte si pentru care nodul
initial coincide cu nodul final se numeste ciclu. Daca cu exceptia
ultimului nod, care coincide cu primul, lantul este elementar, atunci
ciclul este elementar .

Ciclu eulerian.Graf eulerian


Un lant L al unui graf G=(E,V) care contine fiecare muchie o data si
numai o data se numeste lant eulerian. Daca x o=xp si lantul este
eulerian atunci ciclul respectiv se numeste ciclu eulerian.
Un graf care contine un ciclu eulerian se numeste eulerian.
Faptul ca un graf este eulerian nu inseamna ca nu are varfuri
izolate.
Un graf G=(E,V),fara varfuri isolate,este eulerian daca si numai
daca este conex si gradele tuturor varfurilor sale sunt numere
pare.

Grafuri bipartite
Graful neorientat G=(V,E) se numeste bipartite daca exista o partitie
a multimii V in doua submultimi,A si B,astfel incat oricare doua varfuri
din aceeasi multime sa nu fie adiacente.Un graf bipartite se mai
noteaza si G=(A,B,E)
Daca un graf neorientat are cicluri de lungime impara,atunci
el nu este bipartit.

Grafuri hamiltoniene
Fie G=(V,E) un graf. Se numeste ciclu hamiltonian un ciclu care
trece o singura data prin toate nodurile grafului (cu exceptia
nodului de inceput).

Un graf care admite un ciclu hamiltonian se numeste graf


hamiltonian .
Pentru determinarea ciclurilor hamiltoniene se cunosc
algoritmi care sa rezolve problema in timp polinomial.
Acesta este motivul pentru care folosim metoda
Backtracking.
Fie G=(V,E) un graf neorientat si un lant elementar care
trece prin toate nodurile grafului:[v 1,v2,,vn].Daca
d(v1)+d(vn) n,atunci graful este hamiltonian.
Fie graful neorientat G=(V,E) cu n noduri. Daca pentru
orice pereche de noduri neadiacente v i vj avem relatia
d(vi)+d(vj) n, atunci graful este hamiltonian.
Daca G=(V,E) este un graf cu n noduri si gradul oricarui
nod este mai mare sau egal

n
2

,atunci G este hamiltonian.

Grafuri orientate
Un graf orientat este o pereche ordonata G=(V,A), unde:
o V={v1,v2,,vn} este o multime finita si nevida. Elementele
multimii V se numesc noduri(varfuri).
o A este o multime de arce. Vom nota un arc prin perechea
ordonata (vi,vj) cu i j.
Grafurile orientate se mai numesc si digrafuri.
In graful orientat G=(V,A), nodurile distincte vi, vj G sunt adiacente
daca exista cel putin un arc care le uneste.
Astfel avem urmatoarele cazuri:
o Exista numai arcul (vi,vj) A in acest caz, spunem ca arcul
(vi,vj) A este incident spre exterior cu vi si spre interior
cu vj.
o Exista numai arcul (vj,vi) A in acest caz, spunem ca arcul
(vj,vi) A este incident spre interior cu vi si spre interior
cu vj.
o Exista arcul (vi,vj) A si arcul (vj,vi) A.

Intr-un graf orientat,prin gradul exterior/interior al unui varf v vom


intelege numarul arcelor incidente spre exterior/interior cu v.
Gradul exterior/interior al unui nod va fi notat cu d+(v).
O relatie utila: fie un graf orientat cu n noduri si m arce. Avem
relatia:
d+(1) + d+(2) + + d+(n) = d-(1)+ d-(2)++ d-(n)=m
O relatie utila: fie un graf orientat cu n noduri si m arce. Avem
relatia:
d+(1) + d+(2) + + d+(n) = d-(1)+ d-(2)++ d-(n)=m

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