Sunteți pe pagina 1din 11

BACALAUREAT

Cap 12 Grafuri
12.1 Grafuri neorientate
Def. Se numete graf neorientat o pereche ordonat de mulimi (X,U), unde :
- X este o multime finit i nevid de elemente numite vrfuri sau noduri
- U este o multime de perechi neordonate de cte dou elemente din X, numite
muchii sau arce.
Aadar, un graf neorientat poate fi reprezentat sub forma unei figuri geometrice
alctuit din puncte (vrfuri, noduri) i linii drepte sau curbe care unesc aceste puncte
(muchii, arce).
Vom folosi
- pentru grafuri neorientate termenii de vrf i muchie ;
- pentru grafuri orientate termenii de nod i arc
Dac o muchie trece prin nodurile x i y, atunci ea se noteaz (x,y) sau [x,y].
Pe caz general, ntr-un graf neorientat G = (X,U) notm :
- m numrul muchiilor ; n numrul nodurilor ;
- X =
{ }
n
x x x ,..., ,
2 1
mulimea vrfurilor ;
- U =
{ }
m
u u u ,..., ,
2 1
mulimea muchiilor ;
- o muchie u
k
este o pereche neordonat (a,b) alctuit din dou
elemente din X.
-
Def. Pentru o muchie u
k
= (a,b) , vom spune c :
- vrfurile a i b sunt adiacente i se numesc extremitile muchiei u
k
;
- muchia u
k
i vrful a sunt incidente n graf. La fel, muchia u
k
i vrful b ;
- muchia (a,b) este totuna cu (b,a) (nu exista o orientare a muchiei)
Def. Gradul unui vrf x, notat d(x), reprezint numrul muchiilor care trec prin nodul x
(incidente cu nodul x).
Un varf care are gradul 0 se numete vrf izolat.
Un vrf care are gradul 1 se numte vrf terminal.
Th. Intr-un graf G = (X,U), cu n vrfuri i m muchii , suma gradelor tuturor vrfurilor
este egal cu 2 * numrul muchiilor.
. 2 ) ( ... ) ( ) ( ) (
1
2 1
m x d x d x d x d
n
n
i
i
+ + +

75
Exemplu :
Avem pentru graful considerat :
- X = { 1,2,3,4,5,6,7 } multimea vrfurilor (nodurilor)
- U= { u
1
,u
2
,u
3
,u
4
,u
5
} multimea muchiilor (arcelor)
- Muchiile sunt : u
1
= (1,2) ; u
2
= (2,3) ; u
3
= (3,4) ; u
4
= (2,4) ; u
5
= (5,6) ;
- d(1) = 1 ; d(2) = 3 ; d(3) = 2 ; d(4) = 2 ; d(5) = 1 ; d(6) = 1 ; d(7) = 0 ;
- vrful 7 este vrf izolat ; vfurile 5 i 6 sunt vrfuri terminale .
Metode de reprezentare
1. Matricea de adiacen
Este o matrice A cu n linii i n coloane, n care elementele a[i,j] se definesc astfel:

'

a l t f e l
j i c u j i m u c h i a d c
j i a
, 0
_ ] , , [ ) . ( , 1
] , [
Deoarece muchia (a,b) este totuna cu muchia (b,a), rezult c a[i,j] = a[j,i] ,
oricare ar fi i ,j
} ,..., 2 , 1 { n
. Din acest motiv, matricea de adiacen pentru un graf
neorientat este simetric fa de diagonala principal.
2. Listele vecinilor
Pentru fiecare nod i , cu i
} ,..., 2 , 1 { n
, formm lista vecinilor lui i. Aceasta
cuprinde toate nodurile care sunt extremiti ale muchiilor ce trec prin nodul i.
Reprezentm graful de mai sus prin cele dou metode
1.

,
_

0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
0 0 0 0 1 1 0
0 0 0 1 0 1 0
0 0 0 1 1 0 1
0 0 0 0 0 1 0
A
2.
7
5 6
6 5
3 , 2 4
4 , 2 3
4 , 3 , 1 2
2 1
_
.
vecinilor lista nodul
Pe fiecare linie i din listele vecinilor conine indicii coloanelor pe care se gsesc
valori de 1 n linia i a matricei de adiacen.
76
Def. Fie graful G = (X,U). Un graf parial al lui G este un graf G
1
= (X,V), cu V

U.
Altfel spus, un graf parial G
1
al lui G, este chiar G, sau se obine din G pstrnd toate
vrfurile i suprimnd nite muchii.
Def. Fie graful G = (X,U). Un subgraf al lui G este un graf G
1
= (Y,T), cu Y X i
T U, iar T va conine numai muchiile care au ambele extremiti n Y. Altfel spus, un
subgraf G
1
al lui G se obine din G eliminnd nite vrfuri i pstrnd doar acele muchii
care au ambele extremiti n mulimea vrfurilor rmase.
Ex :
-graful initial
a. Eliminam muchiile care trec prin nodul 4 graf partial
Am eliminat muchiile u
3
i u
4
, pstrnd toate vrfurile.
b. Eliminm vrfurile 5,6,7 i muchiile corespunztoare(u
5
) subgraf

Noiunile de lan i ciclu
Def. Se numete lan n graful G, o succesiune de vrfuri L = (z
1
,z
2
,...,z
k
), unde
z
1
,z
2
,...,z
k
X, cu proprietatea c oricare dou vrfuri consecutive sunt adiacente, adic
exist muchiile [z
1
,z
2
], [z
2
,z
3
],, [z
k-1
,z
k
] U.
Vrfurile z
1
i z
k
se numesc extremitile lanului, iar numrul de muchii care
intr n componena sa reprezint lungimea lanului.
77
Dac vrfurile z
1
,z
2
,...,z
k
sunt distincte dou cte dou, lanul se numete
elementar. In caz contrar, lanul este ne-elementar.
Ex :
L
1
= (1,2,3,4) - lan elementar
L
2
= (1,2,4,3,2,3,4) - lan ne-elementar
L
3
= (2,4,3,2,1) lan ne-elementar
L
4
= (6,5,1,2,3,4) -lan elementar
Def. Se numete ciclu ntr-un graf, un lan L = (z
1
,z
2
,...,z
k
) cu proprietatea c z
1
= z
k
i
muchiile [z
1
,z
2
], [z
2
,z
3
],, [z
k-1
,z
k
] sunt distincte dou cte dou.
Def. Dac ntr-un ciclu, toate vrfurile cu excepia primului i a ultimului sunt distincte
dou cte dou, atunci ciclu se numete elementar. In caz contrar, el este ne-elementar.
C
1
= (2,3,4,2) - ciclu elementar
C
2
= (1,2,4,3,1) - ciclu elementar
C
3
= (5,2,4,3,1,5 - ciclu elementar
C
4
= (1,2,3,4,2,5,1) - ciclu ne-elementar
C
5
= (5,2,3,4,2,1,5) - ciclu ne-elementar
Obs. In cadrul unui lan, muchiile se pot repeta, dar n cadrul unui ciclu ele trebuie s fie
distincte.
Def. Un graf G este conex dac oricare ar fi dou vrfuri ale sale, exist un lan care le
leag.
Obs. Intr-un graf conex, lund oricare dou vrfuri , putem gsi cel putin un traseu(lan)
care pornete dintr-un vrf i ajunge n cellalt.
Def. Se numete component conex a grafului G =(X,U), un subgraf G
1
=(X
1
,U
1
) a
lui G,conex, cu proprietatea c nu exist nici un lan care s lege un vrf din X
1
cu un vrf
din X-X
1
.
Ex.
78
In acest exemplu exista 3 componente conexe
- G
1
=(X
1
,U
1
), cu X
1
={1,2,3,4} i U
1
={u
1
,u
2
,u
3
,u
4
}
- G
2
=(X
2
,U
2
), cu X
2
={5,.6} i U
2
={u
5
}
- G
3
=(X
3
,U
3
), cu X
3
={7} i U
1
=
Def. Se numete ciclu hamiltonian ntr-un graf, un ciclu elementar care conine toate
vrfurile grafului.
Se numete graf hamiltonian un graf care conine un ciclu hamiltonian.
Ex
Graful din acest exemplu este hamiltonian, deoarece ciclu C =[2,5,1,3,4,2] este
elementar (pleac din vrful 2 i se ntoarce tot n 2, iar muchiile [2,5], [5,1], [1,3], [3,4],
[4,2] sunt distincte dou cte dou) i n plus conine toate vrfurile.
Def. Se numete lan hamiltonian ntr-un graf, un lan elementar care conine toate
vrfurile grafului.
Ex L = [2,5,1,3,4]
Th. Dac ntr-un graf G=(X,U) cu n 3 vrfuri, gradul fiecrui vrf verific condiia
2
) (
n
x d
, atunci graful este hamiltonian.
Def. Se numete ciclu eulerian ntr-un graf un ciclu care conine toate muchiile
grafului.
Se numete graf eulerian un graf care conine un ciclu eulerian.
Ex.
Pentru acest graf, ciclu C = [2,1,5,2,3,4,2] este eulerian, deoarece pleac din 2 i
se ntoarce tot n doi, iar muchiile sale consecutive, adica [2,1], [1,5], [5,2], [2,3], [3,4],
[4,2] sunt distincte dou cte dou i reprezint toate muchiile grafului.
Th. Un graf fr vrfuri izolate este eulerian dac i numai dac este conex i gradele
tuturor vrfurilor sunt numere pare.
79
12.2 Grafuri orientate
Def. Se numete graf orientat o pereche ordonat de mulimi (X,U), unde :
- X este o multime finit i nevid de elemente numite mulimea
nodurilor(vrfirilor)
- U este o multime format din perechi ordonate de elemente ale lui X, numit
mulimea arcelor (muchiilor).
Obs Prin noiunea de perechi ordonate nu trebuie s nelegem c o muchie este mai
mare dect alta, ci pur i simplu c facem deosebirea ntre o muchie de forma (x,y) i o
alta de forma (y,x). Cu alte cuvinte, muchiile sunt difereniate prin ordinea de scriere a
vrfurilor.
Arcul (x,y) nu este totuna cu arcul (y,x) .
Fiecare arc va fi de forma u = (x,y), unde x se numte extremitate iniial, iar y
se numete extremitate final a arcului. Arcul iese din nodul x i intr n nodul y.
Nodurile x i y sunt adiacente.
Arcul u i nodul x (sau y) sunt incidente.
Nodul y se numete succesor al lui x, iar nodul x se numete predecesor al lui y.
Un arc de forma (x,x), care iese din x i intr tot n x se numete bucl.
ntr-un graf putem avea dou sau mai multe arce identice.
Se numete p-graf un graf orientat n care numrul arcelor identice este mai mic
sau egal cu o valoare dat p.
Def. Gradul exterior al unui vrf d, notat d
+
(x) , reprezint numrul arcelor care ies
din nodul x, adic numrul arcelor de forma (x,y) U.
Gradul interior al unui vrf d, notat d
-
(x) , reprezint numrul arcelor care intr
n nodul x, adic numrul arcelor de forma (y,x) U.
Gradul unui vrf x, notat d(x), reprezint numrul arcelor care trec prin nodul x
(suma dintre gradul interior i gradul exterior al unui vrf).
Ex :

Avem pentru graful considerat :
- X = { 1,2,3,4,5,6,7 } multimea vrfurilor (nodurilor)
- U= { u
1
,u
2
,u
3
,u
4
,u
5
, u
6
,u
7
,u
8
,u
9
,u
10
, u
11
} multimea arcelor
- Arcele sunt : u
1
= (1,2) ; u
2
= (2,3) ; u
3
= (4,3) ; u
4
= (4,2) ; u
5
= (1,7) ; u
6
= (6,1)
u
7
= (6,4) ; u
8
= (3,5) ; u
9
= (3,4) ; u
10
= (5,6) ; u
11
= (3,7) ;
- d
+
(1) =2 ; d
+
(2) =1 ; d
+
(3) =3 ; d
+
(4) =2; d
+
(5) =1 ; d
+
(6) =2 ; d
+
(7) =0 ;
- d
-
(1) =1 ; d
-
(2) =2 ; d
-
(3) =2 ; d
-
(4) =2 ; d
-
(5) =1 ; d
-
(6)=1 ; d
-
(7) =2 ;
- d(1) =3; d(2) =3 ; d(3) =5; d(4) =4 ; d(5) =2 ; d(6) =3 ; d(7) =2 ;
80
Metode de reprezentare
1.Matricea de adiacen
Este o matrice A cu n linii i n coloane, n care elementele a[i,j] se definesc astfel:

'

a l t f e l
j i c u j i a r c u l d c
j i a
, 0
_ ] , , [ ) . ( , 1
] , [
Deoarece arcul (i,j) nu este totuna cu arcul (j,i), matricea de adiacen nu mai este
simetric fa de diagonala principal.
2.Listele vecinilor
Pentru fiecare nod x , cu x
} ,..., 2 , 1 { n
, se construiesc dou liste ale vecinilor
si :
- L
+
(x) lista vecinilor succesori; conine nodurile ce sunt extremiti finale ale
arcelor care ies din nodul x
- L
-
(x) lista vecinilor predecesori; conine nodurile ce sunt extremiti iniiale
ale arcelor care intr n nodul x
Reprezentm graful de mai sus prin cele dou metode
1.

,
_

0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 1 0 0 0 0 0
0 0 0 0 1 1 0
1 0 1 1 0 0 0
0 0 0 0 1 0 0
1 0 0 0 0 1 0
A
2.
3 , 1 7
5 4 , 1 6
3 6 5
6 , 3 3 , 2 4
4 , 2 7 . 5 . 4 3
4 , 1 3 2
6 7 , 2 1
) ( ) (
.
vida
x L x L nodul
+
Def. Fie graful G = (X,U). Un graf parial al lui G este un graf G
1
= (X,V), cu V

U.
Altfel spus, un graf parial G
1
al lui G, este chiar G, sau se obine din G pstrnd toate
vrfurile i suprimnd nite muchii.
Def. Fie graful G = (X,U). Un subgraf al lui G este un graf G
1
= (Y,T), cu Y X i
T U, iar T va conine numai muchiile care au ambele extremiti n Y. Altfel spus, un
subgraf G
1
al lui G se obine din G eliminnd nite vrfuri i pstrnd doar acele muchii
care au ambele extremiti n mulimea vrfurilor rmase.
Ex :
81

Fie G=(X,U) graful iniial- graful anterior.
Pentru a obine un graf parial al lui G eliminm din acesta 0 sau mai multe arce.
Elimin muchiile u
6
i u
10
.

Pentru a obine un subgraf al lui G eliminm din acesta unul sau mai multe
vrfuri,pstrnd n mulimea arcelor doar pe acelea care au ambele extremiti n
mulimea vrfurilor rmase. Elimin vrfurile 5 i 6, deci vor disprea i arcele aferente u
6
,
u
7
, u
8
, u
10
.

Drumuri i circuite n grafuri orientate
Fie un graf orientat G = (X,U).
Def. Se numete lan ntr-un graf orientat , o mulime de arce L={u
1
,u
2
,...,u
k
}, cu
proprietatea c oricare dou arce vecine n mulime au o extremitate comun.
Un lan este de fapt un traseu care unete prin arce dou noduri numite
extremitile lanului, fr a ine cont de orientarea arcelor componente.
Vrfurile z
1
i z
k
se numesc extremitile lanului, iar numrul de arce care intr
n componena sa reprezint lungimea lanului.
82
Def. Se numete drum n graful G,un ir de noduri D=(z
1
,z
2
,...,z
k
), unde z
1
,...,z
k
X,
cu proprietatea c oricare dou noduri consecutive sunt adiacente, adic exist arcele
[z
1
,z
2
], [z
2
,z
3
],, [z
k-1
,z
k
] U.
Un drum poate fi privit ca un traseu n care toate arcele au aceai orientare, dat
de sensul de deplasare de la z
1
la z
k
.
Dac nodurile z
1
,z
2
,...,z
k
sunt distincte dou cte dou, drumul se numete
elementar. In caz contrar, drumul este ne-elementar.
Def. Se numete circuit ntr-un graf, un lan L = (z
1
,z
2
,...,z
k
) cu proprietatea c z
1
= z
k
i arcele [z
1
,z
2
], [z
2
,z
3
],, [z
k-1
,z
k
] sunt distincte dou cte dou.
Def. Dac ntr-un circuit, toate nodurile cu excepia primului i a ultimului sunt
distincte dou cte dou, atunci circuitul se numete elementar. In caz contrar, el este
ne-elementar.
Ex :
L
1
={u
5
,u
11
,u
2
,u
4
,u
7
} -lan cu extremitile 1 i 6
L
2
={u
5
,u
11
,u
3
,u
7
,u
6
,u
1
,u
2
} -lan cu extremitile 1 i 3
D
1
={1,2,3,4} -drum elementar
D
2
={3,5,6,4,3,7} -drum ne-elementar (se repet nodul 3)
D
3
={4,2,3,7} -drum elementar
D
4
={6,1,2,3,5,6,1,7} -drum ne-elementar (se repet nodurile 1 i3)
C
1
={2,3,4,2} -circuit elementar
C
2
={3,5,6,4,3} -circuit elementar
C
3
={5,6,1,2,3,5} -circuit elementar
C
4
={5,6,4,2,3,4,3,5} -circuit ne-elementar (se repet nodurile 3 i4)
C
5
={6,1,2,3,4,3,5,6} -circuit ne-elementar (se repet nodul 3 )
Obs. ntr-un circuit arcele nu se pot repeta, ele fiind distincte dou cte dou. ntr-un
drum, nu exist aceast restricie.
83
12.3. Arbori
Def. Un graf conex i fr cicluri se numete arbore.
Th. Fie un graf G = (X,U). Urmtoarele afirmaii sunt echivalente :
1. G este un arbore
2. G este un graf conex, minimal n raport cu aceast proprietate
(eliminnd o muchie oarecare, se obine un graf ne-conex)
3. G este un graf fr cicluri, maximal cu aceast proprietate (adugnd o
muchie oarecare, se obine un graf care are cel puin un ciclu)
Th. Un arbore cu n vrfuri are n-1 muchii.
Proprieti ale arborilor :
- Exist un nod n care nu intr nici un arc, numit rdcina arborelui
- Cu excepia rdcinii,fiecare nod are proprietatea c n el intr un singur arc.
Acesta leag nodul respectiv de un alt nod numit predecesor sau printe.
- Dintr-un nod pot iei unul sau mai multe arce. Fiecare astfel de arc, leag
nodul respectiv de un alt nod numit sucessor sau fiu al nodului.
- Nodurile sunt organizate pe nivele, primul nivel fiind ocupat de nodul
rdcin. Nodurile de pe ultimul nivel se caracterizeaz prin faptul c din ele
nu mai iese nici un arc, i se numesc noduri terminale sau frunze.
- Nodurile pot conine o aa numit informaie util, care poate fi de orice tip.
De obicei aceste informaii se mai numesc i chei ale arborelui.
Def. Un arbore cu proprietatea c fiecare nod, cu excepia frunzelor, are cel mult doi
descendei (succesori) se numte arbore binar.
ntr-un arbore binar, cei doi succesori ai unui nod (dac exist), se numesc
succesor stang si succesor drept.
Def. Un arbore cu proprietatea c fiecare nod, cu excepia frunzelor, are exact doi
descendeni (succesori) se numete arbore binar complet.
Reprezentarea arborilor binar
Numerotnd nodurile arborelui cu 1,2,,n, vom reprezenta arborele folosind
reprezentarea static, cu ajutorul vectorilor.
a. specificm rdcina r i definim doi vectori, S respective D, care vor conine
succesorii nodurilor, astfel :
- S[i] reprezint nodul succesor stng al nodului i, cu i =1,2,,n.
- D[i] reprezint nodul succesor drept al nodului i, cu i =1,2,,n.
- Dac nu exist successor, elementul n cauz va fi 0.
84
b. Definim tot doi vectori :
- vectorul P memoreaz prinii (predecesorii) nodurilor arborelui. Astfel, P[i]
reprezint predecesorul nodului i, cu i =1,2,,n. Ne-existnd printe al
rdcinii, vom lua P[1] = 0
- vectorul T indic, pentru fiecare nod, ce fel de succesor al printelui este
nodul : stng sau drept. Astfel, T[i] va fi -1 sau 1, dup cum nodul i provine
din printele su ca succesor stng respectiv drept (i =1,2,,n). Deoarece
nodul 1 nu are printe, vom lua T[i] = 0.
Ex : Fie graful urmtor :
- rdcina arborelui este 1 ;
- 4,5,7,8 sunt frunze (noduri terminale);
- arborele are 4 nivele (rdcina se afl pe nivelul 1, nodurile 2,3 se afl pe
nivelul 2,nodurile 4,5,6 se afl pe nivelul 3, iar nodurile 7 si 8 se afl pe
nivelul 4);
- pentru nodul 2, succesorul este nodul 4, iar predecesorul este nodul 1
- pentru nodul 3, succesorii sunt nodurile 5 i 6, iar predecesorul este nodul 1
- pentru nodul 6, succesorii sunt nodurile 7 i 8, iar predecesorul este nodul 3
Reprezentm arborele prin cele dou metode :
a. Folosim vectorii S si D


b. Folosim vectorii P si T.
Descendent = fiu
Ascendent = parinte
i 1 2 3 4 5 6 7 8
S[i] 2 0 5 0 0 7 0 0
D[i] 3 4 6 0 0 8 0 0
i 1 2 3 4 5 6 7 8
P[i] 0 1 1 2 3 3 6 6
T[i] 0 -1 1 1 -1 1 -1 1
85

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