QReferate - referate pentru educatia ta.
Referatele noastre - sursa ta de inspiratie! Referate oferite gratuit, lucrari si proiecte cu imagini si grafice. Fiecare referat, proiect sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Referate informatica

Introducere in teoria grafurilor



INTRODUCERE IN TEORIA GRAFURILOR


A. 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 e multimea relatiilor/muchiilor.

B =


B. Grafuri orientate (digrafuri)



Se numeste graf orientat o multime ordonata (A,B) in care A este multimea nodurilor (finita si nevida), iar B este multimea arcelor.

Terminologie

Daca (x,y) apartine de B atunci:

 - x si y sunt noduri adiacente

 - x si y sunt extremitatile arcului (x,y)

 - x si y sunt incidente cu (x,y)

 - in cazul grafurilor orientate:

- x este extremitatea initiala a (x,y)

- y este extremitatea finala a (x,y)

 u = (x,y); v = (y,z); => u si v sunt incidente


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: numarul de muchii incidente cu el

d(x) - gradul nodului x

G1: d(1) = 2

G2: d(1) = 3

Pentru grafurile orientate, se definesc:

Gradul exterior al lui x: d+(x) = numarul arcelor care pleaca din x

Gradul interior al lui x: d-(x) = numarul arcelor care intra in x

Exemplu:

pentru G2: d(1)=3; d+(1)=1; d-(1)=2;


Nodurile de grad 0 se numesc noduri izolate.

Nodurile de grad 1 se numesc noduri terminale.


Proprietati

d+(x) + d-(x) = d(x)

Daca un graf are m muchii sau arce atunci: d(x1) + d(x2) + + d(xn) = 2m

Daca un graf orientat are m arce:

d+(x1) + d+(x2) + + d+(xn) = m

d-(x1) + d-(x2) + + d-(xn) = m


Lanturi. Drumuri

A. Pentru grafuri neorientate

Se numeste lant o succesiune de noduri x1 xk, cu proprietatea ca oricare doua noduri vecine (xi,xi+1) apartin de B.

x1, xk 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.





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

B. Pentru grafuri orientate

Se numeste lant o succesiune de arce u1, u2 uk, 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 x1, x2 xk cu proprietatea ca (xi,xi+1) este arc.

Observatie: conteaza ordinea de parcurgere. Daca nodurile sunt distincte, drumul se numeste elementar


Cicluri. Circuite

A. Pentru grafuri neorientate

Se numeste ciclu intr-un graf neorientat un lant x1,x2 xk si oricare 2 muchii (xi,xi+1) sunt distincte.

Daca un ciclu are toate nodurile distincte 2 cate 2 cu exceptia capetelor, atunci el se numeste ciclu elementar.




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


B. Pentru grafuri orientate

Se numeste circuit intr-un graf un drum x1,x2 xk cu proprietatea ca x1 = xk si arcele (xi,xi+1) sa fie distincte 2 cate 2.

Un circuit in care toate nodurile sunt distincte cu exceptia capetelor se numeste circuit elementar.

Reprezentarea grafurilor in memorie

Reprezentarea prin matrice de adiacenta

Liste de adiacenta

Vector de muchii

Matrice arce-noduri


1. Matricea de adiacenta

A. Pentru grafuri neorientate

a[i,j] = 1, daca intre i si j este muchie

a[i,j] = 0 altfel.


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.



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 Pi este adresa primului element al listei asociate lui i.

Observatie: pentru grafurile orientate se memoreaza in lista lui i nodurile k pentru care exista arcul (i,k).

struct elem ;

elem *p[100];

int n;



3. Vector de muchii

struct muchie v[100];

int n,m;


4. Matricea noduri-arce

Este folosita in special pentru grafurile orientate.



Matricea noduri-arce aferenta


Observatie: matricea noduri-arce poate fi adaptata si pentru grafurile neorientate.

Sunt mai multe tipuri de grafuri:

1. Graf partial

Fie G=(A,B) si G1=(A1,B1).

Spunem ca G1 este un graf partial al lui G daca A=A1 si B1 este inclus sau egal cu B.

Un graf partial se obtine dintr-un graf, indepartand o parte dintre muchiile sale si pastrand toate nodurile acestuia

2. Subgraful unui graf

Fie G=(A,B) si G1=(A1,B1);

A1 inclus sau egal cu A; B1 inclus sau egal cu B.

B1 =

Subgraful se obtine din graful initial selectand o parte din nodurile sale si o parte din nodurile adiacente cu acesta.

3. Graf complet

Un graf este complet daca oricare doua varfuri distincte sunt adiacente.

4.Grafuri bipartite

Un graf bipartit este bipartit complet daca fiecare nod din multimea A1 este adiacent cu toate nodurile din A2 si reciproc.

5. Grafuri conexe

Un graf este conex daca este format dintr-un singur nod sau daca intre oricare doua noduri ale sale exista cel putin un lant.

Se numeste componenta conexa a unui graf un sungraf al sau care este conex si care este maximal in raport cu aceasta proprietate (daca i se adauga un nod isi pierde aceasta proprietate).


Observatie: pentru grafurile orientate nu se tine cont de orientarea arcelor.


Exemplu

Graful  din fig. 2 este conex pentru ca oricum am lua doua noduri putem ajunge de la unul la celalalt pe un traseu de tip lant. De exemplu, de la nodul 4 la nodul 2 putem ajunge pe traseul de noduri (4,3,2) stabilind astfel lantul , dar si pe traseul de noduri (4,1,2) stabilind lantul



Acest graf nu este conex.


6. Grafuri tare conexe

Graful tare conex este un graf orientat G=(X, U), daca pentru oricare doua noduri x si y apartin lui X, exista un drum de la x la y precum si un drum de la y la x.


Exemplu

Graful cu n=3 din fig. 4 este tare conex.

Pentru a demonstra acest lucru, formam toate perechile posibile de noduri distincte (x, y) cu x, y apartin multimii , si pentru fiecare astfel de pereche cautam un drum de la x la y si un drum de la y la x.


x=1, y=2

De la 1 la 2 - drumul [1,3,2], pe arcele (1,3) si (3,2);

De la 2 la 1 - drumul [2,3,1], pe arcele (2,3) si (3,1).

x=1, y=3

De la 1 la 3 - drumul [1,2,3], pe arcele (1,2) si (2,3);

De la 3 la 1 - drumul [3,2,1], pe arcele (3,2) si (2,1).

x=2, y=3

De la 2 la 3 - drumul [2,1,3], pe arcele (2,1) si (1,3);

De la 3 la 2 - drumul [3,1,2], pe arcele (3,1) si (1,2).

Componenta tare conexa


Un subgraf se obtine dintr-un graf G= (X, U) eliminand niste varfuri si pastrand doar acele muchii care au ambele extremitati in multimea varfurilor ramase.

Fie un subgraf tare conex G1=(X1, U1) al grafului G=(X, U). Adaugam la subgraf un nod x care nu face parte din multimea nodurilor sale (x apartine X-X1). Obtinem astfel multimea de varfuri X1 reunit cu . Subgraful indus pe multimea X1 reunit cu se obtine luand si arcele care trec prin nodul x.


Daca acest subgraf nu mai este tare conex, atunci el se numeste componenta tare conexa.


Exemplu:



Acesta este graful G=(X,U) tare conex.


Din el eliminam nodul 4.



Am obtinut astfel subgraful tare conex G1=(X1, U1).

Acestui graf ii adaugam un nod x care nu  face parte din multimea nodurilor subgrafului G1.



Graful obtinut  este componenta tare conexa.


7. Grafuri hamiltoniene

Lant hamiltonian: lant elementar care contine toate nodurile grafului.

Ciclu hamiltonian: ciclu elementar care contine toate nodurile grafului.

Graf hamiltonian: graf care contine un ciclu hamiltonian.


8. Grafuri euleriene

Ciclu eulerian: ciclu care trece prin toate muchiile unui graf exact o data.

Graf eulerian: graf care contine cel putin un ciclu eulerian.


O parcurgere isi propune sa ia in discutie fiecare nod al grafului exact o singura data, pornind de la un nod ales, numit in continuare nod sursa.


Parcurgerea in latime viziteaza intai toti vecinii unui nod dat si numai dupa ce epuizeaza toti vecinii trece la un alt nod. Parcurgerea in adancime isi propune sa mearga din vecin in vecin al vecinului cat de mult poate, "adancindu-se" astfel in structura grafului.


Nu se poate descarca referatul
Acest referat nu se poate descarca

E posibil sa te intereseze alte referate despre:


Copyright © 2024 - Toate drepturile rezervate QReferat.com Folositi referatele, proiectele sau lucrarile afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul referat pe baza referatelor de pe site.
{ Home } { Contact } { Termeni si conditii }