Grafuri neorientate

Previzualizare documentație:

Extras din documentație:

Definitie

Se numeste graf neorientat o pereche ordonata de multimi(X,U) cu semnificatia: X ese o multime finita si nevida de elemente numite noduri, U este o multime de perechi neordonate(submultimi cu 2 elemente din X), numite muchii.

Un graf neorientat se noteaza cu G=(X,U), unde X se numeste multimea nodurilor graficului G, iar U se numeste multimea muchiilor.

O submultime{x,y} de varfuri din X se noteaza cu u=[x,y]( u este muchie, iar x,y sunt extremitatile), u?U.

In cazul general, intr-un graf neorientat G=(X,U), se folosesc notatiile:

- card(X)=n numarul de noduri din graf;

- card(U)=m numarul de muchii din graf.

Multe dintre problemele de interes practic pot fi rezolvate prin grafuri.

Structura unui website poate fi reprezentata folosint un graf: nodurile sunt paginile website-ului; exista o muchie care leaga pagina oarecare A de pagina oarecare B, daca si numai daca pagina A contine un link catre pagina B.

Pentru vizulalizare si intelegere intuitiva un graf poate fi reprezentat cu ajutorul unei figuri plane, in care fiecarui nod x?X i se asociaza un punct in plan, iar fiecarei muchii u=[x,y] i se asociaza o linie ce uneste punctele corespunzatoare nodurilor x si y.

Grafurile din figura 65 si figura 66 sunt exhivalente.

Definitie

Fie u?U, u=[x,y]. Nodurile x,y din X sunt adiacente in G iar u si x sunt incidente (la fel u si y).

In figura 67:

-nodul 1 este adiacent cu nodul 2 deoarece ele sunt extremitati ale muchiei[1,2].

-nodul 2 este adiacent cu nodul 6 deoarece ele sunt extremitati ale muchiei[2,6].

-nodul 3 esteinicdent cu muchia [2,3] deoarece el este extremitate a muchiei.

Gradul uni nod

Definitie

Prin gradul unui nod x notat d(x), se intelege numarul de muchii incidente cu nodul x.

Fie graful neorientat G=(X,U)(fig71)

X={1,2,3,4,5,6}si U={[1,2];[1,3];[1,4];[1,5];[3,4];[3,5];4,6]};

n=6(numarul de noduri),

m=7(numarul de muchii).

d(1)=4, deoarece muchiile incidente cu nodul 1 sunt in numar de 4;

d(2)=1, deoarece exista o singura muchie incidenta cu nodul 2;

d(3)=3, deoarece muchiile incidente cu nodul 3 sunt in numar de 3.

Definitie

Se numeste nod izolat un nod cu gradul 0. Se numeste nod terminal un nod cu gardul 1.

Reprezentatrea in memorie a grafurilor neorientate

Fie G=(X,U) un graf neorientat unde X={1,2,3, ,n}, n?N*, este multimea nodurilor, iar U este multimea muchiilor. Reprezentarea in memoria calculatorului a unui graf neorientat se poate face prin mai multe modalitati; alegerea formei de reprezentare a unui graf depinde de problema pentru care se solicita algoritmul de rezolvare.

Memorarea grafurilor folosinf matricea de adiacenta

Matricea de adiacenta atasata unui graf este o matrice patrara cu n linii si n coloane (n numarul de noduri din multimea X), cu elementele:

A[i,j]={1,[i,j] ?U;

{0,[i,j]nu ap U.

Observatii:

1. Matricea de adiacenta atasata unui graf neorientat este o matrice simetrica fata de diagonala principala, deoarece pentru orice muchie[i,j] ?U este adevarata relatiia A[i,j]=A[j,i].

2. Muchia [i,j] exista in graful neorientat G=(X,U) reprezentat prin matricea de adiacenta, daca A[i,j]=1.

3. Suma valorilor din matricea de adiacenta astasata unui graf neorientat este egala cu 2*m, unde m este numarul muchiilor din graf.

4. Fie x?X. Gradul nodului lui x este egal cu suma valorilor de elementelor matricei de adiacenta atasata garafului neorientat, de pe linia x sau coloana x.

Fie graful neorientat G=(X,U)(fig71)

X={1,2,3,4,5,6}si U={[1,2];[1,3];[1,4];[1,5];[3,4];[3,5];4,6]};

n=6(numarul de noduri),

m=7(numarul de muchii).

Matricea de adiacenta asociata acestui graf este:

A= 0 1 1 1 1 0

1 0 0 0 0 0

1 0 0 1 1 0

1 0 1 0 0 1

1 0 1 0 0 0

0 0 0 1 0 0

Elementele din matricea de adiacenta situate pe diagonala principala au valoarea 0. Acestea sunt de forma A[i,i], cum nu exista muchie de la un nod la el insusi pentru grafurile studiate, rezulta ca A[i,i]=0.

Se observa ca d(1)=4 (numarul elementelor egale cu 1 de pe prima linie), d(2)=1 (numarul elementelor egale cu 1 de pe linia 2).

Pentru graful dat, suma elementelor din matricea atasata este 14, adica 2*m.

Matricea de adiacenta atasta unui graf neoriantat poate fi cititadirect de la tastarura sau din fisierul de intrare sau poate fi completata initial cu 0, urmand a fi citite din fisierul de intrare m perechi de varfuri ce reprezinta muchiile de forma [x,y]; se completeaza A[x,y]=1si A[y,x]=1.

Exemplul de citire a unei matrice de adiacenta atasata unui graf neorientat dintrun fisier dat:

Graf.txt:

A= 0 1 1 1 1 0

1 0 0 0 0 0

1 0 0 1 1 0

1 0 1 0 0 1

1 0 1 0 0 0

0 0 0 1 0 0

vid citire(){

ifstream f("graf.txt");

f>>n;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

f>>a[i][j];

f.close();

}

Memorarea grafurilor folosind listele de adiacenta

Reprezentaraea unui graf neorientat se paote realiza utilizand listele de adiacenta a nodurilor:pentru fiecare nod se alcatuieste lista nodurilor adiacente cu el.

Exemplu:

Pentru graful G=(X,U)

Se formeaza urmatoarele liste de adiacenta:

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Grafuri neorientate.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nota:
10/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
12 pagini
Imagini extrase:
12 imagini
Nr cuvinte:
2 170 cuvinte
Nr caractere:
11 623 caractere
Marime:
829.50KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Liceu
Tip document:
Documentație
Materie:
Informatică
Tag-uri:
grafuri, informatica
Predat:
la liceu
Profil:
Real
Specializare:
Matematică–informatică
Sus!