Sunteți pe pagina 1din 6

Grafuri neorientate

Def. Se numeste graf neorientat o perechi de multimi G=(X,U) unde:


-X este o multime finita si nevida de elemente numite noduri sau arce
-U este o multime de perechi neordonate de cate 2 elemente din X
nuite muchii sau arce
Fie u=(a,b) o muchie a grafului G, spunem ca:
-vf a si b sunt extremitatile muchiei
-vf a si muchiei u sunt incidente in graf, la fel si vf b si muchia u
-vf a si b sunt adiacente
-muchia (a,b) este totuna cu muchia (b,a)
Exp. Pt GT1
X={1,2,3,4,5,6,7} multimea nodurilor
U={(1,2),(1,4),(2,3),(3,4),(4,5),(4,6),(5,6),(5,7)}
Def. se numeste gradul unui nod notat cu d(x) numarul muchiilor ce
pleaca din nodul x.
Daca gradul unui nod este 0 se numeste vf izolat, iar daca gradl este 1
atunci nodul se numeste terminal.
Exp.
x d(x)
1 2
2 2
3 2
4 4
5 3
6 2
7 1
Teorema. Intr-un graf G=(X,U) cu n noduri si m muchii se verifica
relatia:
n

∑ d (xi)=d ( x 1 )+ d ( x 2 ) +…+ d ( xn ) =2∗m


i=1

Cu alte cuvinte suma gradelor tuturor nodurilor este egala cu 2* nr


de muchii.
Reprezentare
a. matricea de adiacenta- este data de relatia
a[i][j]=1, daca exista muchia (i,j)
0, in caz contrar
Exp.
X 1 2 3 4 5 6 7
1 0 1 0 1 0 0 0
2 1 0 1 0 0 0 0
3 0 1 0 1 0 0 0
4 1 0 1 0 1 1 0
5 0 0 0 1 0 1 1
6 0 0 0 1 1 0 0
7 0 0 0 0 1 0 0

2. Listele vecinilor- pentru fiecare nod se construieste o lista de vecini


ce contine extremitatile muchiilor ce pleaca din nodul respectiv
x L(x)
1 2,4
2 1,3
3 2,4
4 1,3,6,5
5 4,6,7
6 5,4
7 5
3. Vectorul de muchii- o muchie poate fi reprezentata ca o structura
cu 2 elemente si anume extremitatile muchiei, iar graful poate fi
privit ca un vector de astfel de elemente
struct muchie
{int nod1,nod2;}v[100];
v[1].nod1-este o extremitate a muchiei 1
v[1].nod2- cealalta extremitate a muchiei 1
Tipuri de grafuri
1. Graf partial- un graf partial se obtine din graful initial pastrand
toate nodurile si eliminand muchii
2. subgraful- se obtine din graful initial eliminand noduri cu tot cu
muchiile aferente
3. Graf complet- este un graf care are proprietatea ca oricare doua
noduri x,y ale sale exista o muchie care sa le lege.
Teorema. Un graf complet cu n noduri are n(n-1)/2 muchii
4. graf bipartit- este un graf cu prop ca multimea nodurilor X se poate
imparti in doua submultimi A si B cu prop ca :
1. AUB=X
2.AႶB=Ǿ
3. orice muchie a grafului G are o extremitate in A si cealalta
extremitate in B
5. graf bipartit complet- este un graf bipartit cu prop ca toate
nodurile unei submultimi sunt adiacente cu nodurile celeilalte
submultimi
Lant. Ciclu
Def. se numeste lant o succesiune de noduri L=(z1,z2,..,zk) cu prop ca
oricare doua noduri vecine sunt adiacente i.c. exista muchiile [z1,z2],
[z2,z3],…[zk-1,zk]
Daca nodurile unii lant sunt distincte doua cate doua lantul se
numeste elementar, in caz contrar ne-elementar
Exp.GT1
L=1-2-8-7-6 lant elementar
L=1-2-3-2-8-7 lant ne-elementar
Ciclu- se numeste ciclu o succesiune de noduri C=z1,z2,..,zk cu prop
ca z1=zk si oricare doua noduri vecine sunt adiacente i.c. exista
muchiile [z1,z2],[z2,z3],…[zk-1,zk].
Daca nodurile, cu exceptia primului si a ultimului nod, sunt distincte
doua cate doua ciclu se numeste elementar, in caz contrar ne-
elementar
Exp. C-3-4-5-3- ciclu elementar
C=4-3-2-3-5-4 ciclu ne-elementar
Graf conex. Se numeste graf conex un graf cu prop ca pentru oricare
doua noduri ale sale exista un lant care sa lege.
Obs. Graful conex este un graf care NU are varfuri izolate(in
principiu).
Def. componenta conexa este un subgraf conex cu prop ca din orice
nod al componentei NU se poate ajunge in celelalte noduri ale
grafului
Obs. Varfurile izolate sunt componente conexe
Def. Graf hamiltonian este graful care contine un ciclu elementar ce
trece prin toate nodurile grafului
Teorema. Un graf neorientat cu n noduri este hamiltonian daca si
numai daca gradul fiecarui nod respecta relatia d(x)>=n/2.
Graful eulerian. Se numeste graf euelrian un graf care contine un
ciclu elementar care trece prin toate muchiile grafului.
Teorema. Un graf neorientat cu n noduri este eulerian daca si numai
daca NU are varfuri izolate si gradele tuturor nodurilor sunt pare.
Formule
1. Numarul de grafuri neorientate cu n noduri este dat de 2n(n-1)/2
Variante 1
Citirea matricei de adiacenta
1. de la tastatura
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
do
{ cin>>a[i][j];}while(a[i][j]==1 ││ a[i][j]==0);
}
2. prin citirea muchiilor
cin>>n>>m;
for(k=1;k<=m;k++)
{ do{
cin>>x>>y;}while(x>=1 && x<=n && y>=1 && y<=n);
a[x][y]=a[y][x]=1;
}
3. din fisier
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++) f>>a[i][j];

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