Documente Academic
Documente Profesional
Documente Cultură
Numim graf o pereche ordonat de mulimi, notat G=(X,U), unde X este o mulime finit i nevid de elemente numite noduri sau vrfuri, iar U este o mulime de perechi (ordonate sau neordonate) de elemente din X numite muchii (dac sunt perechi neordonate) sau arce (dac sunt perechi ordonate). n primul caz, graful se numete neorientat, altfel acesta este orientat. Aadar un graf poate fi reprezentat sub forma unei figuri geometrice alctuite din puncte (care corespund vrfurilor) i din linii drepte sau curbe care unesc aceste puncte (care corespund muchiilor sau arcelor).
I. TIPURI DE GRAFURI
1. GRAFURI NEORIENTATE
Definitie : Se numeste graf neorientat o pereche de multimi G = (A,B) in care A este multimea nodurilor (este finita si nevida) si B este multimea relatiilor/muchiilor. B = { (x,y) / x apartine lui A, y apartine lui A } Definitie : O muchie a apartine de B este deci o submultime cu elemente {x,y} de varfuri distincte din A si o vom nota (x,y)-notatie muchie.Vom spune ca varfurile x si y sunt adiacente in G si ca ambele sunt incidente cu muchia (x,y). Varfurile x si y se mai numesc si extremitatile muchiei(x,y). Daca B1 si B2 sunt 2 muchii care au o extremitate comuna,ele vor fi numite deasemenea incidente. A = {1,2,3,4,5}
Page 1
{(1,2),(1,3),(2,3),(2,5)}
Exemplu: -1 este adiacent cu 2 si 3 -1 si 2 sunt extremitatile (1,2) - nodul 1 este incident cu (1,2) - (5,2) si (2,3) sunt incidente Gradul unui nod la grafurile neorientate Gradul unui nod x , notat cu d(x),reprezinta numarul muchiilor care trec prin nodul x (incidente cu nodul x). Exemplu: - d(1)=2 Nodul care are gradul 1 se numeste nod terminal. Nodul care are gradul 0 se numeste nod izolat. Proprietati: d + (x) + d - (x) = d(x) Daca un graf are m muchii sau arce atunci: d( x 1 )+d(x 2 ) + ... + d(x n ) = 2m Lanturi Se numeste lant o succesiune de noduri x 1 ... x k , cu proprietatea ca oricare doua noduri vecine (x i ,x i+1 ) apartin de B. x 1 , x k sunt extremitatile lantului Lungimea lantului este egala cu numarul de muchii care il compun, k-1. Daca nodurile din lant sunt distincte, atunci lantul este elementar, in caz contrar este neelementar. Exemplu: 1,2,3,1,4 - Lant neelementar (lungime 4) 1,2,3,4 - Lant elementar (lungime 3) 1,2,3,1,2,5 - Lant neelementar (lungime 5) 1,2,3,5 - Nu este lant
Cicluri Se numeste ciclu intr-un graf neorientat un lant x1 , x2 ... x k cu proprietea ca x1 =xk si oricare 2 mchii (x i ,x i+1 ) sunt distincte. Daca un ciclu are toate nodurile distincte 2 cate 2 cu exceptia capetelor, atunci el se numeste ciclu elementar, in caz contrar neelementar.
Page 2
Exemplu: 1,2,3,4,1 - Ciclu elementar 2,3,4,1,2 - Ciclu elementar 1,2,3,4,2,3,1 - Nu este ciclu 1,2,3,4,2,5,1 - Ciclu neelementar
2. GRAFURI ORIENTATE
Definitie: Se numeste graf orientat o multime ordonata (A,B) in care A este multimea nodurilor (finita si nevida), iar B este multimea arcelor. Definitie : Pt muchia (x,y) nodul x reprezinta extremitatea initiala,iar y extremitatea finala a muchiei.De remarcat faptul ca la grafurile orientate muchia(x,y) este diferita de muchia(y,x). Raman valabile notiunile de varfuri adiacente si varfuri incidente cu o muchie prezentate la grafuri neorientate.
B = {(1,2),(2,1),(2,3),(3,1),(5,2)}
Exemplu: - d(1)=3 - d + (1)=1 - d - (1)=2 Proprietati: 1. d + (x 1 ) + d + (x 2 ) + ... + d + (x n ) = m 2.d - (x 1 ) + d - (x 2 ) + ... + d - (x n ) = m Drumuri Se numeste lant o succesiune de arce u 1 , u 2 ... u k , cu proprietatea ca oricare doua arce de pe pozitii consecutive au un nod comun. Observatie: nu conteaza ordinea de parcurgere Se numeste drum o succesiune de noduri x 1 , x 2 ... x k cu proprietatea ca (x i ,x i+1 ) este arc. Observatie: conteaza ordinea de parcurgere Daca nodurile sunt distincte, drumul se numeste elementar,in caz contrar este neelementar. Exemplu:
Drumuri 1,2,3,1,2 - Drum neelementar 1,2,3,4 - Drum elementar 3,1,2,5 - Nu este drum
Se numeste circuit intr-un graf un drum x 1 ,x 2 ... x k cu prop ca x 1 = x k si arcele (x i ,x i+1 ) sa fie distincte doua cate doua. Un circuit in care toate nodurile sunt distincte cu exceptia capetelor se numeste circuit elementar.
Page 4
Exemplu:
Page 5
Observatie: Pe diagonala principala toate elementele sunt 0 (nu avem bucle). Matricea este simetrica fata de diagonala principala, deci: a[i,j] = a[j,i]. B. Pentru grafuri orientate a[i,j] = 1, daca exista arcul (i,j); a[i,j] = 0, altfel. 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0
2. Liste de adiacenta
Pentru fiecare nod se memoreaza o lista a vecinilor sai. Pentru intregul graf este necesar un vector de liste (P) in care P i este adresa primului element al listei asociate lui i.
Page 6
De exemplu, pentru i = 1, informatia din lista figurata mai sus se va completa astfel : p[1] 2 3 5. Nod Lista de adiacenta asociata 1. 2,3, 2. 1,3 3. 2 4. 5. 1
Observatie: pentru grafurile orientate se memoreaza in lista lui i nodurile k pentru care exista arcul (i,k)
3. Matrice arce-noduri
Este o matrice b de dimensiune linii si m coloane in care elem b[i][j]= 1,daca i-extremitatea initiala a arcului -1,daca i-extremitatea finala a arcului 0,daca nodul i-nu este nici o extremitate pt arcul cu nr j Este folosita in special pentru grafurile orientate.
Page 7
4. Matricea noduri-arce
Observatie: matricea noduri-arce poate fi adaptata si pentru grafurile neorientate.
5. Vector de muchii
Fiecare arc al grafului poate fi privit ca o inregistrare cu 2 campuri care defapt sunt cele 2 noduri, care constituie extremitatile arcului. Putem defini tipul: typdef struct {int st,dr;} TARC;
Page 8
Se porneste de la un nod oarecare x. Se viziteaza toti vecinii directi ai nodului x daca nu au fost deja vizitati. Fiecare dintre nodurile vizitate la pasul anterior devine nod curent si este prelucrat la fel ca nodul x. x=1 1, 2, 3, 4, 6, 7, 8, 9, 5
Page 9
Page 10