Sunteți pe pagina 1din 32

COLEGIUL NAIONAL "GEORGE COBUC"

Motru

LUCRARE ATESTAT

Prof. Coordonator: Ciocan Natalia


Elev: Constantin Iuliana Rodica
Clasa a XII-a C

2016

COLEGIUL NAIONAL "GEORGE COBUC"

Motru

Grafuri Orientate

Prof. Coordonator: Ciocan Natalia


Elev: Constantin Iuliana Rodica
Clasa a XII-a C

2016

Cuprins

1. Scurt istoric.2
2. Noiuni elementare..3
3. Grafuri orientate..5
3.1. Graf parial8
3.2. Noiunea de subgraf..10
3.3. Gradul unui vrf12
3.4. Graf complet. Graf turneu.13
3.5. Conexitate.14
3.6. Matricea de adiacen19
4. Aplicaii.24
5. Bibliografie30

Scurt istoric
Graful este la origine un concept matematic. Teoria grafurilor are o vechime mult mai
mare comparativ cu informatica. n informatic graful este privit ca o structur de date. O
particularitate a grafurilor n informatic este faptul c de fiecare dat sunt considerate grafuri
finite (cu numr finit de noduri). Informatica a preluat noiunile teoriei grafurilor imaginnd o
multitudine de situaii concrete rezolvabile cu algoritmi ce prelucreaz structuri asimilate
grafurilor.

Euler Leonhard

Nscut la Basel (Elveia) n 1707, s-a remarcat ca fizician i matematician. Se apreciaz


c a fost figura predominant a sec. XVIII n domeniul matematicii. Euler este printre cei mai
prolifici autori n specialitatea sa, publicnd pe parcursul vieii peste 70 volume. Moare n anul
1783 la St. Petersburg, Rusia.
A avut contribuii decisive n demonstrarea unor teoreme matematice, n teoria
numerelor, a funciilor trigonometrice i desigur, a grafurilor.
n 1736, Euler Leonhard public lucrarea Soluia problemei prin geometria poziiei
(lat. Solutio problematis ad geometriam situs pertinentis) n care a stabilit o abordare nou a
problemei Celor 7 poduri din Koenigsberg (Poduri peste rul Pregel din Koenigsberg
localitate din Prusia sec. XVIII )

2. Noiuni elementare
Numim graf o pereche ordonat de mulimi, notat G=(X,U), unde X este o mul ime
finit i nevid de elemente numite noduri sau vrfuri, iar U este o mul ime de perechi (ordonate
sau neordonate) de elemente din X numite muchii (dac sunt perechi neordonate) sau arce (dac
sunt perechi ordonate).
n cazul grafurilor neorientate, perechile de vrfuri din mulimea U sunt neordonate i
sunt denumite muchii. Perechea neordonat format din vrfurile x i y se noteaz [x,y] ;
vrfurile x i y se numesc extremitile muchiei [x,y] .
n cazul grafurilor orientate, perechile de vrfuri din mulimea U sunt ordonate i
sunt denumite arce. Perechea ordonat format din vrfurile x i y se noteaz (x,y); vrful x se
numete extremitate iniial a arcului (x,y) , iar vrful y se numete extremitate final a arcului
(x,y).
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).
Exemple:
a)graf neorientat

X = {1, 2, 3, 4, 5}
U = {(1,2), (1,3), (2,3), (2,5)}
b)graf orientat

X={1,2,3,4,5}
U={(1,2),(1,3),(1,4),(2,3),(4,5)}

3. Grafuri orientate
Noiunea de graf orientat.
Un exemplu de graf orientat este: reeaua de strzi a unui ora. Strzile sunt muchii n
graf, iar interseciile reprezint vrfurile grafului. ntruct mergnd pe jos ne putem deplasa pe
orice strad n ambele sensuri, vom spune c din punctul de vedere al pietonilor, graful unui
ora este neorientat.
Cu totul altfel stau lucrurile n ceea ce privete conductorii auto, pentru c n orice ora
exist strzi cu sens unic. Pentru un ofer strzile trebuie s primeasc n graf o anumit
orientare. Desigur c acele strzi pe care se poate circula n ambele sensuri vor primi orientare
dubl. Am ajuns astfel la noiunea de graf orientat.
Definiie: Se numete graf orientat o pereche ordonat de mulimi notat G=(V, U), unde:
V : este o mulime, finit i nevid, ale crei elemente se numesc noduri sau vrfuri;
U : este o mulime, de perechi ordonate de elemente distincte din V, ale crei elemente se
numesc arce.

Exemplu de graf orientat:


G=(V, U) unde: V={ 1,2,3,4}
U={{1,2}, {2,3},{1,4}}
Demonstraie:
Perechea G este graf orientat deoarece respect ntocmai definiia prezentat mai sus,
adic:
V : este finit i nevid
U : este o mulime de perechi ordonate de elemente din V.
n continuare, vom nota submulimea {x,y}, care reprezint un arc, cu ( x,y) (ntr-un graf
orientat arcul (x,y) este diferit de arcul ( y,x)). n baza celor spuse anterior, graful prezentat n
exemplul de mai sus se reprezint textual astfel:

G=(V, U) unde: V={ 1,2,3,4}


U={(1,2), (2,3), (1,4) }
n teoria grafurilor orientate se ntlnesc frecvent urmtoarele noiuni:
-extremitile unui arc

Fiind dat arcul u=(x,y), se numesc extremiti ale sale nodurile x i y;


-x se numete extremitate iniial
-y se numete extremitate final
-vrfuri adiacente
Dac ntr-un graf exist arcul u=(x,y) (sau u=(y,x), sau amndou), se spune
despre nodurile x i y c sunt adiacente;

-incidena
daca ul i u2 sunt dou arce ale aceluiai graf, se numesc incidente dac au o extremitate
comun.
Exemplu: u1=(x,y) i u2=(y,z) sunt incidente;
dac u1=(x,y) este un arc ntr-un graf, se spune despre el i nodul x, sau nodul y,
c sunt incidente.
Reprezentarea unui graf orientat admite dou forme, i anume:
- reprezentare textual: aa cum s-a reprezentat graful din exemplul
anterior;

- reprezentare grafic: arcele sunt reprezentate prin sgei orientate, iar

nodurile prin puncte.


Exemplu de graf orientat reprezentat textual:
G=(V, U) unde: V={ 1,2,3,4}

U={(1,2),

(2,3), (1,4), (4,1)}

Exemplu de graf orientat reprezentat grafic (este graful de la exemplul anterior):

Alte definiii:
a) Se numete graf orientat o pereche ordonat de mulimi notat G=(V, U), unde:
V : este o mulime, finit i nevid, ale crei elemente se numesc noduri sau vrfuri;
6

U : este o mulime, de perechi ordonate de elemente din V, ale crei elemente se


numesc arce.
Aceast definiie difer de prima definiie prin faptul c acum nu se mai spune despre
extremitile unui arc c trebuie s fie distincte. n baza acestei definiii, sunt permise i arce de
genul: u=(x,x) unde x aparine lui V; aceste arce se numesc bucle.
Exemplu de graf orientat (reprezentat grafic):
V={1,2,3,4}
U={(1,2),(2,3),(1,4), (4,4)}

b) Se numete graf orientat o pereche ordonat de mulimi notat G=(V, U), unde:
V : este o mulime, finit i nevid, ale crei elemente se numesc noduri sau vrfuri;
U : este o familie de perechi ordonate de elemente din V, numit familia de arce.
Aceast definiie difer de cea anterioar prin faptul c acum nu numai c se
admit bucle, dar se admit i mai multe arce identice.
Exemplu de graf orientat (reprezentat grafic):
V={1,2 3,4}
U={(1,2), (1,2), (2,1), (1,4), (2,3), (4,4)}

3.1. Graf parial


Fie G=(V, U) un graf orientat. Se numete graf parial, al grafului G, graful orientat
G1=(V, U1) unde U1 este inclus in U.
Un graf parial, al unui graf orientat G=(V,U), are aceeai mulime de vrfuri ca i G, iar
mulimea arcelor este o submulime a lui U sau chiar U.

Exemplu: Fie graful orientat G=(V, U) unde:


V={ 1,2,3,4}
U={(1,2), (l,4), (2,3)}

a) Un exemplu de graf parial al grafului G este graful orientat: G1=(V, U1) unde:
V={ 1,2,3,4}
U1={(1,2),(1,4)} (s-a eliminat arcul (2,3)) reprezentat grafic astfel:

b) Un exemplu de graf parial al grafului G este graful orientat: G1=(V, U) unde:


V={ 1,2,3,4}
U1= (s-au eliminat toate arcele), reprezentat grafic astfel:

Observaie: Fie G=(V, U) un graf orientat. Un graf parial, al grafului G, se obine


pstrnd vrfurile i eliminnd eventual nite arce (se pot elimina i toate arcele sau chiar nici
unul).

3.2. Noiunea de subgraf


Definiie: Fie G=(V, U) un graf orientat. Se numete subgraf, al grafului G, graful
orientat G1=(V1,U1) unde V1 este inclus n V iar U1 conine toate arcele din U care au
extremitile n V1.
Exemplu: Fie graful orientat G=(V, U) unde:
V={ 1,2,3,4}
U={(1,2), (2,3), (1,4)} reprezentat grafic astfel:

Un exemplu de subgraf al grafului G este graful orientat G1=(V1, U1) unde:


V1={1,2,3} (s-a ters nodul4)
U1={(1,2),(2,3)}(s-a eliminat arcul (1,4)), reprezentat grafic astfel:

10

Un

alt exemplu de subgraf al grafului G este graful orientat: G1=(V1, U1) unde:

V1={2,3,4} (s-a eliminat nodul 1)


U1={(2,3)} (s-au eliminat arcele (1,4) (1,2)), reprezentat grafic astfel:

Observaie: Fie G=(V, U) un graf orientat. Un subgraf, al grafului G, se ob ine tergnd


eventual anumite vrfuri i odat cu acestea i arcele care le admit ca extremitate (nu se pot
terge toate vrfurile deoarece s-ar obine un graf cu mulimea vrfurilor vida).

11

3.3. Gradul unui vrf


Avnd la baz ideea c "raportat la un vrf exist arce care ies din acel vrf i arce care
intr n acel vrf, au luat natere urmtoarele noiuni:
- grad extern
- grad intern
Graf de referin:

n graful G=(X,U) avem:


X = {1, 2, 3, 4, 5}
U={ (5,3), (1, 2), (1, 3), (1,4), (1,5), (2,3), (2,4), (2, 5), (3,4), (4, 5)}
Gradul intern al unui nod este egal cu numrul arcelor care intr n nod i se
noteaz d-(x).
Gradul extern al unui nod este egal cu numrul arcelor care ies din nod i se
noteaz d+(x).
Se numete succesor al vrfului x orice vrf la care ajunge un arc care iese din x.
Mulimea succesorilor se noteaz: +.
Se numete predecesor al vrfului x orice vrf de la care intr un arc n vrful x.
Mulimea predecesorilor se noteaz: -.

Explicitarea elementelor din graficul de referin:


12

-mulimea arcelor care intr n nodul 2: +(2)= {(2, 5), (2, 3), (2, 4)};
-mulimea arcelor care ies din nodul 2: - (2)={(1, 2)};
-nodurile 2 i 4 sunt adiacente.
-pentru arcul (2, 3) spunem c 2 este extremitatea iniial i 3 este extremitatea final.
-arcele (2, 3) i (3, 4) sunt incidente.
-nodul 4 este succesor al nodului 2.
-nodul 2 este predecesor al nodului 4.
-mulimea succesorilor nodului 2: +2= {3, 4, 5};
-mulimea predecesorilor nodului 2: -2={1};
-gradul extern al nodului 2: 3
-grad intern al nodului 2: 1

3.4. Graf complet. Graf turneu


Fie G=(V, U) un graf orientat. Graful G se numete graf complet dac oricare dou
vrfuri distincte ale sale sunt adiacente.
Dou vrfuri x i y sunt adiacente dac:
- ntre ele exist arcul (x,y), sau
- ntre ele exist arcul (y,x), sau
- ntre ele exist arcele (x,y) i (y,x).

Exemplu de graf complet:


G=(V, U) unde: V={1,2,3,4}
13

U={(1,2),(1,3), (1,4), (2,3), (2,4), (3,4)}

Un graf orientat este turneu, dac oricare ar fi 2 vrfuri i i j, ij, ntre ele exist un singur arc:
arcul(i,j) sau arcul (j,i).

Orice

graf turneu este graf complet.

n orice graf

turneu exist un drum elementar care trece prin toate vrfurile grafului.

3.5. Conexitate
Un graf G este conex, dac oricare ar fi dou vrfuri ale sale, exist un lan care le leag.
Un lan ntr-un graf orientat este un ir de arce {u1, u 2, u3 , , un} cu proprietatea c oricare
dou arce consecutive au o extremitate comun. Altfel spus, un lan este un traseu care une te
prin arce dou noduri numite extremitile lanului, fr a ine cont de orientarea arcelor
componente.

14

Exemplu:

Graful este conex pentru c oricum am lua dou noduri putem ajunge de la unul la
cellalt pe un traseu de tip lan. De exemplu, de la nodul 4 la nodul 2 putem ajunge pe traseul de
noduri (4,3,2) stabilind astfel lanul {u 5, u3}, dar i pe traseul de noduri (4,1,2) stabilind lanul
{u6, u2}

15

Acest graf nu este conex.


Lund submulimea de noduri {1,2,3}, putem spune c ntre oricare dou noduri din
aceast submulime exist cel puin un lan, de exemplu lanul {u 1, u2} sau {u3, u1}. La fel stau
lucrurile cu submulimea de noduri {4,5,6}. Dar nu putem gsi un lan ntre un nod din prima
submulime i un nod din a doua submulime.
Plecnd dintr-un nod al primei submulimi i deplasndu-ne pe arce, nu avem cum s
trecem n a doua submulime pentru c nu exist nici un arc direct care s lege cele dou
submulimi. De exemplu plecnd din nodul 1 putem ajunge n nodul 2 pe traseul {u 3, u2}, dar de
aici nu putem ajunge mai departe n nodul 4, deci nu exist lan de la 2 la 4.
Componenta conex
Componenta conex a unui graf G=(X, U), reprezint un subgraf G1=(X1, U1) conex, a
lui G, cu proprietatea c nu exist nici un lan care s lege un nod din X 1 cu un nod din X-X 1
(pentru orice nod, nu exist un lan ntre acel nod i nodurile care nu fac parte din subgraf).
De exemplu graful din fig. 3 nu este conex , ns n el distingem dou componente
conexe: G1 =(X1, U1), unde X1={1,2,3} i U1={u1, u2, u3}; i G2=(X2, U2), unde X2={4,5,6} i
U2={u4, u5}.
Graf tare conex
Graful tare conex este un graf orientat G=(X, U), dac pentru oricare dou noduri x i y
aparin lui X, exist un drum de la x la y precum i un drum de la y la x.
Exemplu:
16

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


Pentru a demonstra acest lucru, formm toate perechile posibile de noduri distincte (x, y)
cu x, y aparin mulimii {1,2,3}, i pentru fiecare astfel de pereche cutm un drum de la x la y i
un drum de la y la x.

x=1, y=2
De la 1 la 2 drumul [1,3,2], pe arcele (1,3) i (3,2);
De la 2 la 1 drumul [2,3,1], pe arcele (2,3) i (3,1).

x=1, y=3
De la 1 la 3 drumul [1,2,3], pe arcele (1,2) i (2,3);
De la 3 la 1 drumul [3,2,1], pe arcele (3,2) i (2,1).

x=2, y=3
De la 2 la 3 drumul [2,1,3], pe arcele (2,1) i (1,3);
De la 3 la 2 drumul [3,1,2], pe arcele (3,1) i (1,2).

Componenta tare conex


Un subgraf se obine dintr-un graf G= (X, U) eliminnd nite vrfuri i pstrnd doar acele
muchii care au ambele extremiti n mulimea vrfurilor rmase.
Fie un subgraf tare conex G 1=(X1, U1) al grafului G=(X, U). Adugm la subgraf un nod
x care nu face parte din mulimea nodurilor sale (x apar ine X-X 1). Obinem astfel mulimea de
vrfuri X1 reunit cu {x}. Subgraful indus pe mulimea X 1 reunit cu {x} se obine lund i arcele
care trec prin nodul x.
Dac acest subgraf nu mai este tare conex, atunci el se numete componenta tare
conex.
Exemplu:
17

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


Din el eliminm nodul 4.

Am obinut astfel subgraful tare conex G1=(X1, U1). Acestui graf i adugm un nod x
care nu face parte din mulimea nodurilor subgrafului G1.
Graful obinut este componenta tare conex.
Problem
Stabilii dac graful de mai jos este sau nu conex.

18

X= {1, 2, 3, 4, 5};
U= {u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16}={(1,2), (2,1), (3,2),
(2,3), (4,3), (3,4), (1,4), (4,1), (2,5), (5,2), (3,5), (5,3), (4,5), (5,4), (1,5), (5,1)}.
De la 1 la 2 pe drumul [1,5,2] sau [1,5,4,3,2], etc.
De la 1 la 3 pe drumul [1,5,3] sau [1,5,2,3], etc.
De la 1 la 4 pe drumul [1,5,4] sau [1,5,2,3,4], etc.
De la 1 la 5 pe drumul [1,2,5] sau [1,4,5], etc.
De la 2 la 3 pe drumul [2,5,3] sau [2,1,5,3],etc.
De la 2 la 4 pe drumul [2,5,4] sau [2,3,5,4], etc.
De la 2 la 5 pe drumul [2,1,5] sau [2,3,5], etc.
De la 3 la 4 pe drumul [ 3,5,4] sau [3,2,5,4], etc.
De la 3 la 5 pe drumul [3,2,5] sau [3,4,5], etc.
De la 4 la 5 pe drumul [4,1,5] sau [4,3,5], etc.

19

2.7. Matricea de adiacen


Fie G=(V; U) un graf orientat cu n vrfuri (V={ 1,2, ..., n}) i m arce. Matricea de adiacen
(AMn({0,1})), asociat grafului G, este o matrice ptratic de ordin n, cu elementele:

Exemple:

Matricea de adiacen asociat graficului este:

20

Matricea de adiacen:

Citirea de la tastatur i afiarea matricei de adiacen


Prin citirea matricei de adiacen de la tastatur, putem memora arcele existente ntre
nodurile unui graf. n cazul grafurilor neorientate, citeam doar poriunea de deasupra
diagonalei principale n matrice, deoarece matricea este simetric. Acum trebuie s citim toate
elementele matricei. Avem de-a face cu algoritmii banali de citire i afi are a unei matrice cu n
linii i n coloane (unde n este numrul de noduri) n dou cicluri for, deci nu considerm c mai
21

sunt necesare alte explicaii. Prezentm n continuare procedurile citire_matrice i


afiare_matrice.

#include<iostream.h>

void main()
{

int m,n,x,y,i,j, a[20][20];

cout<<" noduri n="; cin>>n;


cout<<"muchii m="; cin>>m;
for(i=1;i<=m;i++)
{

cout<<"x=";cin>>x;
cout<<"y=";cin>>y;
a[x][y]=1; a[y][x]=1;

cout<<"matricea de adiacenta este="<<endl;


for (i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;}
}

22

Citirea matricei de adiacen dintr-un fiier text


Aceasta este absolut similar cu cea prezentat la grafuri neorientate. Este vorba despre
algoritmul de citire a unei matrice oarecare dintr-un fiier text. Plecm de la presupunerea c
fiierul conine pe primul rnd valoarea lui n, apoi pe fiecare din urmtoarele n rnduri
elementele unei linii a matricei separate de spaii.
void citire(tip a[N][N],int &n,int &m)

int k,x,y;
ifstream f(in.txt); f>>n>>m;
//numarul de varfuri si numarul de muchii
for(k=1;k<=m;k++)

f>>x>>y;

//extremitatile unei muchii

a[x][y]=a[y][x]=1;

f.close();

Construirea matricei de adiacen prin citirea arcelor de la tastatur


Se citesc de la tastatur m perechi de numere ntregi de forma (x,y) reprezentnd
extremitile celor m arce ale grafului, i se construiete matricea de adiacen a, cu n linii i n
coloane. Mai nti citim m i n (numrul de arce respectiv numrul de noduri), i iniializm toat
matricea de adiacen cu 0, n dou cicluri for. Apoi, ntr-un alt ciclu for, cu k de la i la m, citim
cele m perechi de ntregi (x,y).
- Citirea fiecrei perechi (x,z) se face cu validare: repet citirea lui x i y pn cnd
ambele valori sunt n intervalul [1,n].

23

4.Aplicaii
Se da un graf orientat cu n varfuri si m arce avand arcele etichetate cu
costuri

numere

naturale.

Se citesc apoi doua varfuri x si y. Afisati drumul de cost minim de la varful x


la varful x trecand prin varful y, precum si costul acestui drum.
REZOLVARE:
#include<fstream>
using namespace std;
const int inf=100000;
int c[200][200],d[200],p[200],n,m,x,y,t[200];
ifstream f("date.in");
ofstream g("date.out");
void citire()
{ int i,j,k,cost;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j) c[i][j]=0;
else c[i][j]=inf;
for(k=1;k<=m;k++)
{ f>>i>>j>>cost;
c[i][j]=cost;
}
f>>x>>y;
}
void dijkstra(int s)
{ int i,j,k,minn;
24

for(i=1;i<=n;i++)
{
d[i]=c[s][i];
if(i!=s && d[i]!=inf) t[i]=s;
else t[i]=0;
p[i]=0;
}
p[s]=1;
for(k=1;k<n;k++)
{ minn=inf;
for(i=1;i<=n;i++)
if(!p[i] && d[i]<minn)
{ minn=d[i]; j=i;
}
for(i=1;i<=n;i++)
if(!p[i] && d[i]>d[j]+c[j][i])
{ d[i]=d[j]+c[j][i];
t[i]=j;
}
p[j]=1;
}
}
void drum(int i)
{ if(t[i]) drum(t[i]);
g<<i<<" ";
}
int main()
{ int i,v;
citire();
25

dijkstra(x);
v=d[y];
drum(t[y]);
dijkstra(y);
v=v+d[x];
drum(x);
g<<endl<<v;
f.close();
g.close();
return 0;
}
Se considera un graf turneu cu n varfuri avand arc (i,j) intre oricare doua
varfuri

i,j

cu

proprietatea

ca

este

mai

mic

decat

j.

Afisati toate drumurile elementare de la un varf x la un un varf y, x si y


citite, avand proprietatea ca x este mai mic decat y.
REZOLVARE:
#include<fstream>
using namespace std;
int x,y,n,a[100][100],X[100];
fstream f("date.in",ios::in);
fstream g("date.out",ios::out);
int afis(int n)
{
for(int i=1;i<=n;i++) g<<X[i]<<" ";
g<<endl;
}
void back(int k)
{
26

for(int i=X[k-1]+1;i<=y;i++)
{
X[k]=i;
if(X[k]==y) afis(k);
else back(k+1);
}
}
int main()
{
f>>n>>x>>y;
X[1]=x;
back(2);
f.close();
g.close();
return 0;
}
Se da un graf orientat cu n vrfuri si m arce prin lista arcelor si un varf k.
Calculati cate varfuri are componenta tare conexa in care se afla varful k.
REZOLVARE:
#include<fstream>
using namespace std;
int k,l,m,n,a[100][100],pf[100],ps[100];
fstream f("date.in",ios::in);
fstream g("date.out",ios::out);
void dfsuc(int nod)
{int k;
pf[nod]=1;
27

for(k=1;k<=n;k++)
if(a[nod][k]==1 && pf[k]==0)
dfsuc(k);
}
void dfpred(int nod)
{int k;
ps[nod]=1;
for(k=1;k<=n;k++)
if(a[k][nod]==1 && ps[k]==0)
dfpred(k);
}
void citire()
{int x,y;
f>>n>>m;
for(int i=1;i<=m;i++)
{f>>x>>y;
a[x][y]=1;
}
f>>k>>l;
}
int main()
{citire();
dfsuc(k);
dfpred(k);
for(int i=1;i<=n;i++)
if(pf[i]*ps[i]==0) pf[i]=ps[i]=0;
int t=0;
for(int i=1;i<=n;i++)
if(pf[i]) t++;
28

g<<t;
f.close();
g.close();
return 0;
}

29

5.Bibliografie

http://ro.wikipedia.org/wiki/Graf
http://campion.edu.ro/arhiva/www/arhiva_2009/seds/17/index.htm
"Infomatica-fise de lucru pentru elevi"(George D. Mateescu, Pavel F. Moraru)
http://grafuri11.wikispaces.com/file/view/GRAFURI+ORIENTATE.pdf
http://grafuriorientate.blogspot.ro/2010/05/normal-0-false-false-false.html
http://bigfoot.cs.upt.ro/~chirila/teaching/upt/id21-aa/AA-ID-Cap12.pdf

30

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