Sunteți pe pagina 1din 3

Grafuri

Grafuri orientate
Definiția 2.1. Se numește graf orientat o pereche de mulțimi G=(X,U), unde: X
este o mulțime finită și nevidă, ale cărei elemente se numesc noduri (vârfuri), iar
U este o mulțime formată din perechi ordonate (x,y), x, y ∈ X, numită mulțimea
arcelor (muchii). Dacă (x, y) ∈U, x se numește extremitatea inițială (originea) a
arcului, iar y extremitatea finală (extremitatea).
Exemple de grafuri:
a) o rețea rutiera
b) ordinea lucrărilor unui șantier
c) relațiile stabilite intre indivizi

Definiția 2.2. Se numește drum într-un graf orientat un șir de arce


D = {𝑢1 ,..., 𝑢𝑘 𝑢𝑖 ∈U , i = 1, 𝑘 − 1} cu proprietatea că extremitatea finală a arcului ui
coincide cu extremitatea inițială a arcului, 𝑢𝑖+1 , i = 1, 𝑘 − 1.
Exemplu. În Figura 2.1 (1, 2, 4, 3) este un drum, iar (1, 2, 3) nu este drum.
Definiția 2.3. Un nod x dintr-un graf orientat G se numește precedentul altui nod y din G
dacă exista arcul (x, y)∈U .
Un nod y dintr-un graf orientat G se numește succesorul altui nod x din G dacă există arcul
(x, y)∈U.
Un nod x dintr-un graf orientat G se numește ascendentul altui nod y din G
dacă există un drum de origine x și extremitate y.
Un nod y dintr-un graf orientat G se numește descendentul altui nod x din G
dacă există un drum de origine x și extremitate y.
Definiția 2.4. Se numește gradul exterior al lui x și se notează 𝑑 + (x) numărul de
noduri succesoare lui x.
Se numește gradul interior al lui x și se notează 𝑑 − (x) numărul de noduri
precedente lui x.
Se numește gradul lui x și se notează cu d(x) numărul 𝑑 + (x) +𝑑 − (x), (d(x)= 𝑑 + (x) + 𝑑− (x)).
Definiția 2.5. Fie G=(X,U) un graf orientat și fie U′ ⊂U , G′ = (X ,U ′) se numește graf
parțial al lui G.
Fie A⊂ X și UA={u∈U astfel încât cele două extremități ale lui u să fie în A} .
G A =(A, UA) se numește subgraf al lui G.

Definiția 2.6. Graful se numește tare conex dacă pentru orice perechi de vârfuri
x, y∈ X există un drum din x plecând la y .
Definiția 2.7. Se numește arborescență un graf tare conex și fără cicluri,
orientat, a cărui orientare este astfel încât fiecare vârf al său cu excepția unuia
singur, numit rădăcină, este extremitatea terminală a unui arc și numai unul.

Definiția 2.8. Se numește graf ponderat sau valuta si se notează G=(X, U ,I) un graf (X, U)
căruia I se asociază o funcție l :U →ℝ+ numita ponderea arcelor.

Definiția 2.9. Se numește rețea de transport un graf orientat, G= (X, U), fără bucle, cu
proprietățile următoare:
• există un nod x0 unic, numit originea rețelei, și care nu are ascendenți;
• există un nod xf unic, numit destinația rețelei si care nu are descendenți
• fiecărui arc u ∈U ii este asociat un număr l(u) ≥0 numit capacitatea arcului u.

Grafuri neorientate
Definiția 2.10. Se numește graf neorientat și se notează G=(X,U) o pereche de mulțimi, unde:
X este o mulțime finită și nevidă, iar U este o mulțime de perechi neordonate (x, y) cu x, y∈X .
Elementele lui X se numesc vârfurile (nodurile) grafului, iar elementele lui U se numesc
muchiile grafului. Daca u= (x, y)∈U , x și y se numesc extremitățile muchiei u.
Definiția 2.11. Un graf G = (X, U), în care, dacă (x, y)∈U atrage (y, x)∈U , se
numește graf simetric.

Definiția 2.12. Un graf neorientat, G=(X, U), se numește graf complet dacă pentru (∀)x, y∈
X avem (x, y)∈U .

Definiția 2.13. Într-un graf neorientat, G=(X,U), se numește lanț o mulțime de vârfuri L=
{𝑥1 , … , 𝑥𝑘 𝑥𝑖 ∈ 𝑋, 𝑖 = 1, 𝑘} cu proprietatea că oricare două vârfuri consecutive sunt
adiacente, adică (𝑥𝑖 , 𝑥𝑖+1) ∈ 𝑈, , 𝑖 = 1, 𝑘 − 1 . Vârfurile 𝑥𝑖 , 𝑥𝑘 se numesc extremitățile
lanțului, iar numărul de muchii care intră în componenta sa se numește lungimea lanțului.
Dacă 𝑥1 , ..., 𝑥𝑘 sunt distincte două câte două, lanțul se numește elementar, altfel se numește
neelementar.

Definiția 2.14. Un graf G=(X,U) se numește simplu conex sau conex dacă pentru orice
pereche de vârfuri x, y∈ X există un lanț de extremități x și y .

Definiția 2.15. Se numește ciclu într-un graf G=(X,U), un lanț L= {𝑥1  … , 𝑥𝑘 𝑥𝑖 ∈ 𝑋, 𝑖 =
1, 𝑘} cu proprietatea ca 𝑥1 = 𝑥𝑘 si muchiile (𝑥1 , 𝑥2 ),…, 𝑥𝑘−1 , 𝑥𝑘 sunt distincte doua cate
doua.
Definiția 2.16. Se numește ponderea unui lanț, drum, ciclu sau circuit valoarea
P = ∑(𝑥,𝑦)∈(𝑥 𝑥 ,…,𝑥 ) 𝑙(𝑥, 𝑦).
1, 2 𝑛

Definiția 2.17. Un lanț, drum, ciclu sau circuit se numește Hamiltonian dacă el trece o dată
și numai o dată prin toate vârfurile grafului. Un lanț, drum, ciclu sau circuit s.n. Eulerian
daca el trece o data prin toate arcele grafului.

Definiția 2.18. Un arbore este un graf conex şi fără cicluri.

Algoritmul lui Kruskal


- Permite căutarea unui arbore de acoperire de lungime minima.

Pas 1. Se consideră v1 – muchia de lungime cea mai mică. Apoi v2 – muchia de


lungime cea mai mică dintre cele rămase și se notează V2={v1, v2} ;
k :=2 ;
Pas 2. Repetă
k :=k+1 ; vk – muchia de lungime cea mai mică dintre cele rămase
astfel încât Vk−1 ∪vk să nu formeze ciclu
până când k=n−1 ;
Pas 3. Stop. {Vn−1 este un graf de n−1 muchii şi nu are cicluri}.

Algoritmul lui Prim


- Determina arborele de acoperire de lungime minima intr-un graf conex ponderat
G=(X, U, I) si spre deosebire de algoritmul lui Kruskal, nu cere ca ponderile a doua
muchii diferite sa fie diferite.

Pas 1. Se inițializează cu 0 cei trei vectori. Se dă nodul de start s (1≤ s ≤ n ) și


Xs =1; A={ s } arborele parțial.
Pas 2. Repetă
Determină muchia [i,j], cu ponderea minimă, care are o extremitate în
arborele parțial, i∈ A și cealaltă j∈ X − A. Atunci =1 j χ , pj=i și
cj=l([i,j]) .
până când (∀) xi =1 (∀) 𝑖 = 1, 𝑛.
Pas 3. Arborele de acoperire de lungime minimă este dat de muchiile [pi , i] ,
iar lungimea minima este 𝐿𝑚𝑖𝑛 = ∑𝑛𝑖=1 𝑐𝑖 . Stop!

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