Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
Grafuri neorientate
Def. Se numete graf neorientat o pereche ordonat de mulimi G=(X,U), unde X este o mulime finit i nevid de
elemente numit mulimea varfurilor (nodurilor), iar U este o mulime de perechi neordonate de elemente din X
numit mulimea muchiilor.
Not.
Figura 1.
Def. Vrfurile x i y se zic adiacente n G dac sunt extremiti ale aceleiai muchii.
Def. Spunem despre vrful x i muchia u c sunt incidente (la fel vrful y i muchia u).5
Figura 2.
5
Def. Un subgraf al unui graf neorientat G=(X,U) este un graf H=(Y,V) astfel inct YX i V conine toate muchiile din U
care au ambele extremiti n Y (poate fi graful iniial sau se obine din acesta prin eliminarea unor vrfuri i a muchiilor
incidente cu acestea). Spunem c subgraful H este indus de mulimea de vrfuri Y.
1
Figura 3.
2n(n-1)/2.
5
3
4
Figura 4.
Figura 1.
5
Def. Un graf se zice regulat, dac toate vrfurile sale au acelai grad.
Figura 5.
Prop. Dac un graf G=(X,U) are n vrfuri i m muchii, iar X={x1, x2, , xn} atunci
d(xi)=2m, i=1,n. (suma gradelor varfurilor unui graf este 2m)
Figura 6.
3
Def. Un graf se numete bipartit dac exist dou mulimi nevide A i B astfel nct AB=X i AB= i orice muchie u
a lui G are o extremitate n A i una n B.
Exemplu: graful din figura 7
este bipartit cu
A={1,2,4}
Figura 7.
B={3,5}
AB=X i AB=
Def. Un graf bipartit se numete complet dac pentru orice x din A i orice y din B exist in G muchia [x,y].
Obs. Dac A are p elemente si B are q elemente numrul total de muchii este p*q i graful bipartit complet se noteaz
Kpq.
Figura 8.
5
1
4
Def. Fiecrei muchii a unui graf neorientat i se poate asocia o valoare real pozitiv care reprezint costul acelei
muchii.
Def. Un graf neorientat n care fiecrei muchii i s-a asociat o valoare se numete graf ponderat sau graf valoric.
Def. Fie un graf neorientat G=(X, U) i o funcie L: UR+, care asociaz fiecrei muchii uU un numr real numit costul
(ponderea) sa L(u). Costul unui graf reprezint suma costurilor muchiilor sale.
Exemplu: in figura 9 este un graf ponderat
3
1
Figura 9.
6
3
8
4
Def. Un graf G=(X,U) se numete nul dac U= (reprezentarea lui n plan const doar n vrfuri izolate).
Def. Fie graful G=(X,U). Se numete graf complementar al grafului G graful G=(X,U), cu proprietatea c dou
vrfuri adiacente n G dac nu sunt adiacente n G.
Exemplu:
graful G este complementar grafului G
Figura 10.
G=(X,U)
G=(X,U)
Def. Fie un graf G=(X,U) cu vrfurile X={x1, x2,, xn}. Se numete lan n graful G succesiunea de vrfuri
L=[ xi1, xi2,, xik] cu proprietatea c dou vrfuri consecutive din L sunt adiacente, adic muchiile [ xi 1, xi2], [xi2,xi3] [xik1
Exemplu:
4
3
2
Figura 11.
Def. Se numete ciclu n G un lan L pentru care xi1=xik i toate muchiile [xi1, xi2], [xi2,xi3] [xik-1,xik] sunt diferite dou
cte dou.
Def. Se numete ciclu elementar un ciclu care are proprietatea c oricare dou vrfuri ale sale cu excepia primului
i ultimului sunt diferite dou cte dou.
2
Figura 11.
Def.Dou cicluri C i C sunt egale dac muchiile lor induc acelai graf parial al subgrafului generat de vrfurile ce
aparin lui C, respectiv C.
Def. Lungimea unui ciclu este dat de numrul su de muchii.
Obs. Un ciclu are lungimea minim de trei muchii.
Def. Un ciclu se numete par dac lungimea sa este numr par i impar n caz contrar.
Def. Se numete numrul ciclomatic al unui graf numrul de cicluri care se pot alctui n graful respectiv.
Def. Un graf se zice conex dac pentru oricare dou vrfuri x si y distincte exist un lan care le leag.
Exemplu: graful din figura 8 este conex.
Figura 8.
2
5
1
4
Def. Se numete component conex a grafului G=(X,U) un subgraf G=(X,U) conex cu proprietatea c nu exist nici
un lan n G care s lege un vrf din X cu un vrf din X\X.
Exemplu: graful alturat are dou componente conexe:
Figura 12.
4
Obs. Un graf cu n noduri i n componente conexe are numai vrfuri izolate. Graful format dintr-un singur nod este
conex.
Def. Fie G=(V,E) un graf neorientat conex. Un vrf i se numete punct de articulaie dac prin ndeprtarea sa i a
muchiilor adiacente graful nu mai rmne conex.
Def. Un graf G=(V,E) se numete biconex dac nu are puncte de articulaie. Dac G nu este biconex se pune
problema determinrii componentelor sale biconexe, unde prin component biconex (sau bloc) se nelege un subgraf
biconex maximal.
Def. Se numete lan hamiltonian un lan elementar care conine toate vrfurile grafului.
Def. Intr-un graf neorientat G=(X,U) se numete ciclu hamiltonian un ciclu elementar care conine toate vrfurile
grafului.
Def. Se numete graf hamiltonian un graf care conine un ciclu hamiltonian.
Exemplu: graful alturat este hamiltonian:
C1=[1,2,5,4,3,6,1]
C2=[1,2,3,4,5,6,1]
4
1
Figura 14.
3
1
6
1
5
1
Teorem. (condiie suficient ca un graf s fie hamiltonian) Dac G=(X,U) este un graf cu n3 vrfuri astfel nct gradul
fiecrui vrf satisface condiia: d(x)n/2 atunci este hamiltonian.
C2=[7,2,1,6,7,3,4,9,8,4,5,7]
1
vrfuri
izolate
1
este
Figura 15.
parcurgerea n lime : se parcurge mai nti nodul iniial, apoi vecinii acestuia, apoi vecinii nevizitai ai
acestuia, s.a.m.d. Pentru reinerea nodurilor se folosete o structur de date de tip coad.
2.
parcurgerea n adncime: se parcurge mai inti nodul iniial, continu cu primul dintre vecinii si nevizitai,
apoi primul dintre vecinii nevizitai ai acestui nod, s.a.m.d. Pentru reinerea noduriloe se folosete o structur de
date de tip stiv.
Obs. matricea lanurilor se obine din matricea de adiacen prin aplicarea algoritmului lui Roy-Warshall. Se utilizeaz
pentru a arta dac un graf este conex sau nu. Dac are n matrice numai valori de 1, insemn c graful este conex.
3. matricea costurilor: pentru reprezentarea grafurilor valorice. Este o matrice simentric fa de diagonala principal,
cu nXn elemente, unde n este numrul de noduri.
aij=
4. lista de adiacen reprezentat folosind alocarea dinamic se reine pentru fiecare nod lista vecinilor
a) se folosete un vector care reine adresa de nceput a listei vecinilor fiecrui nod
b) se folosete o list care reine adresa de nceput a listei vecinilor fiecrui nod
5. lista de adiacen reprezentat folosind tablouri bidimensionale cu n+2m coloane i dou linii (n=numrul de
noduri, m=numrul de muchii), pe prima linie se scriu numerele de la 1 la n+2m, iar pe a doua se reine n coloanele de la
1 la n coloana n care apare primul vecin al su, iar pe coloanele de la n+1 la n+2m coloana pe care se afl urmtorul
vecin al nodului.
6. doi vectori: se reine un capt al muchiei ntr-un vector, iar cellalt capt n al doilea vector. Lungimea vecorilor este
egal cu numrul de muchii.
Grafuri orientate
Def. Se numete graf orientat o pereche ordonat de mulimi G=(X,U), unde: X este o mulime finit i nevid numit
mulimea vrfurilor (nodurilor), iar U este o mulime format din perechi ordonate de elemente distincte din X numit
mulimea arcelor.
Not. Orice arc se noteaz u=(x,y) i spunem c x este extremitate iniial i y este extremitate final a arculuui.
Def. Pentru graful G=(X,U) dac exist arcul u=(x,y) spunem c vrfurile x i y sunt adiacente i amndou sunt
incidente cu arcul u.
u3
Figura 1
u6
u5
X={1,2,3,4,5,6},
U={(2,1), (2,3), (3,2), (1,3), (1,5), (5,1), (3,5), (5,6)}
u2
u1
u8
u7
Obs. Intr-un graf pot exista mai multe arce identice. Un graf n care numrul arcelor identice nu depete un numr
natural p se numete p-graf. Se vor studia 1-grafuri fr bucle (nu exist un arc de la un vrf la el nsui).
Def. Se numete grad exterior al unui vrf x notat cu d+(x), numrul arcelor de forma (x,y)U.
Def. Se numete grad interior al unui vrf x notat cu d-(x), numrul arcelor de forma (y,x)U.
Not. +(x)={yX|(x,y) U}- mulimea succesorilor lui x
-(x)={yX|(y,x)
Not.
U}-
mulimea
predecesorilor lui x
Not. +(x)={u=(x,y)| uU } mulimea arcelor ce ies din x Not. -(x)={u=(y,x)| uU } mulimea arcelor ce intr in
x
Obs. Vor avea loc egalitile:
d+(x)=| +(x)|=| +(x)|
d+(4)=0 d-(4)=0
d+(5)=1 d-(5)=3
+(4)= -(4)=
+(5)={6} -(5)={1,3}
(1)={u3,u2} (1)={u1,u4}
(4)= (4)=
d+(6)=0 d-(6)=1
+(6)= -(6)={5}
-
(5)={u7} (5)={u2,u8}
+(6)= -(6)={u7}
Obs. Un vrf este izolat dac are gradul interior i gradul exterior egale cu 0.
Obs. Un vrf se numete terminal dac are gradul interior 1 i gradul exterior 0.
Obs. Suma gradelor interioare ale unui graf orientat este egal cu suma gradelor exterioare.
Def. Se numete lan ntr-un graf orientat o succesiune de L=(u1,u2,,un) cu proprietatea c orice dou arce vecine (ui i
ui+1) au o extremitate comun.
Def. Extremitatea x0 a arcului u1 se numete extremitate iniial, extremitatea xn a arcului un se numete extremitate
final.
Exemplu. Pentru graful din figura 1 un lan este: L1=(u4, u1, u2, u3, u8), sau L2=(u7,u1,u4).
Obs. In definirea unui lan nu se ine cont de orientarea arcelor sale.
Def. Se numete drum ntr-un graf orientat G=(X,U) unde X={x1, x2, ..., xn} este un ir de vrfuri notat D=( xi1, xi2, ...,
xim) cu proprietatea c ( xi1, xi2), ( xi2, xi3), ..., ( xim-1,xim) sunt arce ale grafului.
Obs. Un drum este un lan n care toate arcele au aceeai orientare dat de sensul de deplasare de la x0 ctre xm.
Def. Dac toate vrfurile unui drum sunt distincte, drumul se zice elementar. Altfel este neelementar.
Exemplu. Pentru graful din figura 1 un drum este: D1=(2, 3, 5, 6), sau D2=(1, 5, 1, 3, 2, 3, 5).
Drumul D1 este elementar. Drumul D2 este neelementar.
Def. Dac toate arcele unui drum sunt distincte, drumul se zice simplu. Altfel se zice drum compus.
Def. Lungimea unui drum este dat de numrul de arce care l compun.
Def. Un drum n care toate arcele sunt distincte i extremitaile coincid (xi1=xim) se numete circuit.
Def. Dac toate vrfurile circuitului cu excepia primului i ultimului vrf sunt distincte dou cte dou circuitul se zice
elementar. Altfel este neelementar.
Exemplu. Pentru graful din figura 1 exemple de circuite: C1=(1, 2, 1), C2=(1, 2, 3, 5, 1), C3=(2, 1, 3, 5, 1, 3, 2).
Circuitele C1 i C2 sunt elementare C3 este un circuit neelementar.
Obs. Dou vrfuri ntre care exist dou arce cu orientri diferite este circuitul de lungime minim care se poate forma ntrun graf.
Def. Un drum hamiltonian ntr-un graf orientat este un drum care conine toate vrfurile grafului.
Def. Un graf parial al grafului orientat G=(X,U) este un graf G 1=(X,V) cu proprietatea c VU (este graful nsui sau se
obine din graful iniial prin eliminarea unor arce). Se mai spune c graful parial G1 este indus de mulimea de arce V.
Exemplu:
2
2
Figura 1
G1=(X, U) este
Figura 2
4
1
din figura 1
3
6
X={1, 2, 3, 4, 5, 6}
Exemplu:
graful din figura 3
Figura 1
4
1
H=(Y,V) este
Figura 3
4
3
subgraf al lui G:
Y={1, 4, 3, 5}
6
5
Def. Un graf orientat G=(X,U) se numete conex dac pentru oricare dou vrfuri distincte x, y X exist un lan cu
extremitile x i y.
Def. Se numete component conex a unui graf orientat G un subgraf conex al su maximal n raport cu aceast
proprietate (oricare ar fi un vrf din subgraf, nu exist un lan ntre acel vrf i vrfurile care nu fac parte din subgraf).
Obs. Un graf cu o singur component conex este conex.
Exemplu: Graful din figura 4 este conex. Graful din figura 5 nu este conex i are trei componente conexe C 1=(X1,V1) X1={1,
3, 4} V1=((1,2), (2,4)}; C2=(X2,V2) X1={2} V2= ; C3=(X3,V3) X3={5, 6} V3=((5,6), (6,5)}.
5
2
1
Figura 4
Figura 5
3
5
3
1
5
2
5
4
5
6
5
5
Def. Un graf orientat este complet dac oricare dou vrfuri distincte ale sale sunt adiacente.
Obs. Spre deosebire de grafurile neorientate unde graful complet este unic, la grafurile orientate se pot construi mai multe
grafuri orientate complete cu n vrfuri. Dou vrfuri x i y sunt adiacente ntr-un graf orientat n oricare din situaiile:
exist arcul (x,y) sau arcul (y,x) sau arcele (x,y) i (y,x). Sunt n(n-1)/2 posibiliti de a alege dou vrfuri distincte. Pentru
fiecare dintre acestea exist 3 situaii deci n total sunt 3n(n-1)/2 grafuri orientate complete cu n vrfuri.
Def. Un graf este tare conex dac pentru oricare dou vrfuri x, y X exist un drum de la x la y i un drum de la y la
x.
Figura 3
4
Def. O component tare conex a unui graf orientat G=(X, U) este un subgraf G1=(X1,Y1) al lui G care este tare conex
1
i care este maximal n raport cu aceast proprietate (adic oricare ar fi x X\X1, subgraful lui G generat de X1{x} nu
mai este tare conex).
5
Figura 6
3
5
6
5
2
5
1
5
4
5
2
5
4
5
Def. Fiecrei muchii a unui graf orientat i se poate asocia o valoare care reprezint costul acelei muchii.
Def. Un graf orientat n care fiecrei muchii i s-a asociat o valoare se numete graf ponderat sau graf valoric.
Def. Fie un graf orientat G=(X, U) i o funcie L: UR+, care asociaz fiecrui arc uU lungimea (costul sau ponderea) sa
L(u). Lungimea unui drum n acest graf este egal, prin definiie cu suma lungimilor asociate arcelor sale.
Def. Un graf orientat cu prprietatea c ntre oricare dou vrfuri x i y exist un arc i numai unul se numete graf
turneu.
Def. Numim transpusul unui graf orientat G=(X, U) un graf G=(X, U) care are aceeai mulime de vrfuri ca i graful
iniial, arcele sale fiind cele ale grafului iniial dar avnd sens opus.
Reprezentarea grafurilor orientate:
Exist mai multe moduri de reprezentare a grafurilor, alegerea fcndu-se n funcie de tipurile de operaii care urmeaz
s se efectueze:
1. matricea de adiacen: face o asociere ntre vrfuri i indicii matricei. Este o matrice ptratic cu nXn elemente, unde
n este numrul de noduri. aij=
Obs. Completarea matricei se face coloan cu coloan. Pe fiecare coloan sunt dou valori diferite de 0 (1 pentru vrful
iniial, -1 pentru vrful final) iar celelalte valori sunt 0.
Obs. Numarul de valori 1 de pe linia i reprezint gradul exterior al nodului i.
Obs. Numarul de valori -1 de pe linia i reprezint gradul intrerior al nodului i.
3. matricea drumurilor: este o matrice ptratic cu nXn noduri unde n este numrul de vrfuri
aij=
Obs. matricea drumurilor se obine din matricea de adiacen prin aplicarea algoritmului lui Roy-Warshall. Se utilizeaz
pentru a arta dac un graf este tare conex sau nu. Dac are n matrice numai valori de 1, insemn c graful este tare
conex.
4. matricea costurilor: pentru reprezentarea grafurilor valorice. Este o matrice cu nXn elemente, unde n este numrul de
noduri.
aij=
Obs. Matricea de costurilor unui graf orientat nu este simetric fa de diagonala principal.
5. lista de adiacen reprezentat folosind alocarea dinamic se reine pentru fiecare vrf lista succesorilor si
a) se folosete un vector care reine adresa de nceput a listei succesorilor fiecrui vrf
b) se folosete o list care reine adresa de nceput a listei succesorilor fiecrui vrf
6. lista de adiacen reprezentat folosind tablouri bidimensionale cu dou linii i n+m coloane (n=numrul de
vrfuri, m=numrul de arce), pe prima linie se scriu numerele de la 1 la n+m, iar pe a doua se reine n coloanele de la 1
la n coloana n care ncepe lista succesorilor nodului respectiv i n coloanele de la n+1 la m, coloana pe care se afl
urmtorul succesor al nodului.
Arbori cu rdcin
Def1. Se numete arbore un graf conex i fr cicluri.
Def2. (definiie recursiv dat de D.E.Knuth) Se numete arbore (arborescen) o mulime finit de n0 elemente numite
noduri (vrfuri) care, dac nu este vid, are:
-
celelalte noduri sunt repartizate n m0 mulimi disjuncte A 1, A2, ..., Am, fiecare din ele fiind la rndul ei un arbore,
iar un nod al fiecrei mulimi este adiacent rdcinii
nivelul
0
Figura 1
nivelul
1
nivelul
2
r
Obs. O arborescen cu un singur nod este format doar din nodul rdcin.
Def. Nodul rdcin r se consider de nivel 0. Deoarece A1, A2, ..., Am sunt la rndul lor arbori i ei au rdcinile r1, r2, ..., rm.
Acestea formeaz nivelul 1 al arborelui.
Def. Nodurile r1, r2, ..., rm se numesc fii ai rdcinii (descendeni ai rdcinii).
Def. Rdcina este printe (tat) al nodurilor r1, r2, ..., rm.
3
A
Figura 2
2
B
1
B
Def. Descendenii unui nod sunt nodurile adiacente cu el, care se afl pe nivelul urmtor.
Def. Descendenii (subordonaii) aceluiai nod se numesc frai.
Def. Nodul care nu are nici un descendent se numete terminal sau frunz.
4
B
6
B
5
4
B
Def. Inlimea unui nod ntr-un arbore este lungimea celui mai lung drum de la nodul respectiv la un nod terminal.
Def. Inlimea unui arbore este
Def. Adncimea unui nod este lungimea drumului unic de la rdcin la acel nod.
Def. Se numete diametru al unui arbore distana maxim dintre dou noduri ale arborelui.
Def. Ordinul (gradul) unui nod este numrul de descendeni direci ai acelui nod.
Def. Ordinul (gradul) unui arbore este gradul maxim al nodurilor sale.
Def. Dac ordinul nodurilor este nelimitat arborele se zice arbore multici.
Def. Dac ordinea relativ a nodurilor n arbore are importan, arborele se numete arbore ordonat.
Def. Un arbore binar este o mulime finit de noduri care este fie vid, n care ficare nod are cel mult doi descendeni
direci (fii).
Exemplu. Pentru arborele binar din figura 2: nodul 3 este rdcin i tat pentru 2 i 4; arborele nu este ordonat;
nodurile 1, 5, 7 sunt terminale; nodurile 2 i 4 sunt fii ai rdcinii i sunt frai; ordinul arborelui este 2; nalimea arborelui
este 3.
Obs. Cei doi subarbori ai rdcinii unui arbore binar se numesc subarbore stng i subarbore drept.
Def. Dac toate nodurile unui arbore, cu excepia celor terminale au exact doi descendeni, arborele se numete arbore
binar complet.
Def. Un arbore binar care conine noduri terminale numai pe ultimele dou nivele i numrul de noduri din subarborele
stng este mai mare cu cel mult unul fa de numrul de noduri din subarborele drept se numete arbore perfect (total)
echilibrat.
Prop. Un arbore binar complet care are n noduri terminale, toate situate pe acelai nivel, are n total, 2n-1 noduri.
Obs. Un arbore binar complet are numr impar de noduri.
10
Figura 3
Teorema de caracterizare a unui arbore: Pentru un graf G=(X, U) cu n2 noduri, m muchii i p componente conexe,
urmtoarele afirmaii sunt echivalente:
I.
G este conex i fr cicluri
II. G este fr cicluri i m=n-1
III. G este conex i m=n-1
IV. G este fr cicluri, maximal in raport cu aceast proprietate (dac se adaug o muchie ntre dou noduri
neadiacente, se formeaz un ciclu)
V. G este conex x i minimal n raport cu aceast proprietate (dac se elimin o muchie oarecare se obine un graf care
nu mai este conex)
VI. orice pereche de noduri din graf este legat print-un lan i numai unul
Def. Un subgraf parial al unui graf G=(X, U) care n plus este arbore se numete arbore parial.
Prop. Un graf G=(X, U) conine un arbore parial dac i numai dac G este conex.
Prop. Orice arbore cu n2 noduri conine cel puin dou noduri terminale.
Prop. Un graf cu n noduri este arbore dac i numai dac are n-1 muchii i nu conine cicluri.
Def. Fie un graf neorientat G=(X, U) i o funcie L: UR+, care asociaz fiecrei muchii uU un numr real numit costul
(ponderea) sa L(u). Costul unui subgraf reprezint suma costurilor muchiilor sale.
Def. Se numete arbore parial de cost minim un graf parial al grafului G conex i de cost minim care, n plus este
arbore.
Obs. Arborele parial de cost minim (APM) se poate obine cu algoritmul lui Kruskal sau cu algoritmul lui Prim.
Parcurgerea (traversarea, vizitarea) arborilor :
1.
parcurgerea n lime : se parcurge mai nti rdcina, apoi de la stnga la dreapta nodurile aflate pe primul
nivel, apoi nodurile aflate pe al doilea nivel, s.a.m.d. Pentru reinerea nodurilor se folosete o structura de date de
tip coad.
2.
parcurgerea n adncime: se parcurge mai inti rdcina, apoi fii rdcinii de la stnga la dreapta, ncepnd cu
primul fiu. Trecerea de la un frate la altul se realizeaz numai dup vizitarea tuturor descendenilor nodului
curent, deci a ntregului subarbore dominat de acesta. Pentru reinerea noduriloe se folosete o structur de date
de tip stiv.
3.
parcurgerea n preordine: se viziteaz rdcina, apoi subarborele stng, apoi subarborii drepi.
4.
parcurgerea n inordine: se viziteaz subarborele stng, apoi rdcina, apoi subarborii drepi.
5.
parcurgerea n postordine: se viziteaz subarborele stng, apoi subarborii drepi, apoi rdcina.
Obs. Dac arborele este binar, parcurgerea n preordine, inordine i postordine se simplific deoarece arborele are maxim
doi fii.
Def. Se numete arbore binar de cutare (ordonat) un arbore pentru care la traversarea n inordine nodurile apar n
ordinea cresctoare a cheilor (informaiei coninute n nod).
Reprezentarea intern a arborilor:
Exist mai multe moduri de reprezentare a arborilor, alegerea fcndu-se n funcie de tipurile de operaii care urmeaz s
se efectueze:
1. matricea de adiacen: face o asociere ntre noduri i indicii matricei. Este o matrice ptratic cu nXn elemente, unde
n este numrul de noduri. aij=
11