Documente Academic
Documente Profesional
Documente Cultură
Fie o mulţime finită x={x1,x2,......,xn}. Fie Ґ XxX, unde XxX este produsul cartezian
al mulţimii X cu ea însăşi.
Definiţie: Se numeşte graf orientat perechea ordonată G=(X,Ґ)
Elementele xi € X se numesc noduri sau vârfuri
Elementele mulţimii Ґ senumesc arce. Un arc (xk, xi) € Ґ se notează cu [xk, xi]
Reprezentare:
x
1
x
3
x
2
x
4
Dacă în graful G=(X, Ґ) [x,y] € Ґ spunem că x şi y sunt adiacente, iar vârfurile x şi y
sunt incidente cu muchia [x,y]. Dacă două arce au în comun un nod atunci arcele se
numesc incidente.
Dacă Ґ=Ø, graful G=(X, Ґ) se numeşte graf nul şi reprezentarea lui în plan se reduce la
puncte izolate.
Graful G se numeşte graf complet dacă oricare ar fi două noduri ale grafului ele sunt
adiacente.
Teoremă: Numărul de grafuri orientate complete care se pot construi cu n noduri
este egal cu nk=
K4 – grafuri complete
1 2 1 2 1 2 cu 4 noduri
4 3 4 3 3 4
Se numeşte succesor al nodului xi orice nod la care ajunge un arc care iese din nodul xi.
Se numeşte predecesor al nodului xi orice nod de la care intră un nod în xi.
Teoremă: Dacă graful orientat G are n noduri atunci numărul total de grafuri
orientate care se pot forma cu aceste noduri este g= 4 n*(n-1) / 2
Definiţie: Un graf parţial al unui graf orientat dat G=(X, Ґ) este un graf G1=(X, Ґ1)
unde Ґ1 Ґ ; un graf parţial se obţine din G prin suprimarea unor muchii din G
x
1
x x
2 3
x
4
1
G=(X, Ґ) G1=(X, Ґ1)
x
1
x x
2 3
x
4
Definiţie: un subgraf al unui graf orientat G=(X, Ґ) este un graf H=(Y, Ґ1), unde Y
X, iar muchiile din Ґ1 sunt toate muchiile din Ґ care au ambele extremităţi în
mulţimea Y; un subgraf al lui G este graful G sau se obţine din G prin suprimarea
anumitor vârfuri şi a tuturor muchiilor adiacente cu acestea.
Teoremă: Numărul de grafuri parţiale ale unui graf cu m muchii (arce) este egal
cu 2 m.
Teoremă: Numărul de subgrafuri ale unui graf cu n noduri este egal cu 2 n -1
G=(X, Ґ) H=(Y, Ґ1)
x x
1 1
x x x
2 3 3
x x
4 4
Teorema :Dacă graful orientat G are m arce şi n noduri atunci între gradele
nodurilor şi numărul de muchii există următoarea relaţie: suma gradelor interne ale
tuturor nodurilor este egală cu suma gradelor externe ale tuturor nodurilor şi cu
numarul de arce
2
Lanţul este un traseu prin care se parcurg anumite muchii ale grafului. La definirea unui
lanţ nu se ţine cont de orientarea arcelor. Lungimea lanţului reprezintă numărul de
parcurgeri ale muchiilor. Lanţul este egal cu suma muchiilor.
Un lanţ care are toate muchiile distincte două câte două şi extremităţi care coincid se
numeşte ciclu.
Un graf fără cicluri se numeşte graf aciclic.
Dacă toate nodurile ciclurilor sunt distincte două câte două ciclul se numeşte elementar.
1 2 3
4 5 6
Un circuit elementar care trece prin toate nodurile grafului se numeşte circuit
hamiltonian
x x
1 4
x x
2 3
Pentru graful din figură avem: [x1,x2], [x2,x3], [x3,x4], [x4,x1] este un circuit
Hamiltonian
Teoremă: Dacă un graf conţine un circuit atunci conţine şi un circuit elementar
Grafuri neorientate
Definiţie: Fie G=(X,Ґ) un graf. Mulţimea Ґ are proprietatea de simetrie dacă şi numai
dacă din [x,y] € Ґ rezultă [y,x] € Ґ
x x
2 3
Dacă mulţimea Ґ are proprietatea de simetrie atunci graful G=(X,Ґ) se numeşte graf
neorientat. În cazul grafurilor neorientate nu se desenează ambele arce care unesc două
noduri, se tresează doar una singură care se numeşte muchie, în loc de arc.
x x
2 3
4
x
1
Un graf complet cu 4 noduri se notează K4
x
Teorema: Numărul m de muchii ale unui graf neorientat complet cu n
x
3
2
noduri (Kn) este
x
4
Teoremă: Dacă graful neorientat G are n noduri atunci numărul total de grafuri
neorientate care se pot forma cu aceste noduri este
Gradul unui nod xk al grafului G este egal cu numărul muchiilor incidente cu nodul şi se
notează cu d(xk)
Teoremă: Dacă graful G are m muchii şi n noduri atunci între gradul nodurilor şi
numărul de muchii există următoarea relaţie:
4 5
6 7
5
Graful alăturat este eulerian. Un ciclu eulerian
2 este:
9
1 3 {1,2,4,6,5,7,8,3,9,8,5,2,3,4,1}
8 Teorema: Un graf G=(X,Ґ), fără vârfuri
4 5 izolate este eulerian dacă şi numai dacă este
conex şi gradele tuturor vârfurilor sale sunt
6 7
numere pare.
Definiții:
Într-un graf neorientat, se numește lanț eulerian un lanț simplu în care apare fiecare muchie
(fiind lanț simplu, fiecare muchie apare o singură dată).
Într-un graf neorientat, se numește ciclu eulerian un ciclu în care apare fiecare muchie.
Un graf neorientat se numește graf eulerian dacă conține un ciclu eulerian.
Exemplu:
Teoremă:
Un graf neorientat fără vârfuri izolate este eulerian dacă și numai dacă este conex și toate vârfurile au
grad par.
Un graf neorientat fără vârfuri izolate conține un lanț eulerian, dacă și numai dacă este conex și toate
vârfurile au grad par, mai puțin două. Aceste vârfuri vor fi extremitățile lanțului eulerian.
6
Un graf G se numeşte conex dacă are proprietatea că pentru orice pereche de noduri
diferite între ele, există un lanţ care să le lege.
7
Propoziţie: Dacă un graf cu n noduri are p componente conexe, atunci numărul minim de
muchii care trebuie adăugate, ca să devină conex, este p-1
Propoziţie: Dacă un graf conex cu n noduri are n-1 muchii, atunci orice pereche de
noduri este legată printr-un lanţ şi numai unul.
Propoziţie: Dacă un graf neorientat cu n noduri şi m muchii este conex, numărul maxim
de muchii care se pot elimina pentru a obţine un graf parţial conex este m-n+1
Teoremă: Un graf neorientat conex, cu n nodurişi n-1 muchii, este aciclic şi maximal în
raport cu această proprietate. Dacă unim două noduri neadiacente oarecare graful va
conţine un ciclu.
Teoremă: Dacă un graf neorientat conex are n noduri şi m muchii, numărul de muchii
care trebuie eliminate pentru a obţine un graf parţial conex aciclic, este egal cu m-n+1
Propoziţie: Dacă un graf are n noduri, m muchii şi p componente conexe, numărul de
muchii care trebuie eliminate pentru a obţine un graf parţial aciclic este egal cu m-n+p
Propoziţie: Pentru a obţine dintr-un graf neorientat conex, două componente conexe,
numărul minim de muchii care trebuie înlăturate m min este egal cu gradul minim din graf :
m min=grad min
Un graf este tare conex dacă are proprietatea că pentru orice pereche de noduri diferite
între ele, există un drum (la grafuri orientate drumul ţine cont de orientarea arcelor) care
să le lege.
8
Determinarea componentelor tare conexe:
Subgraful predecesorilor unui nod este format din acel nod şi mulţimea nodurilor din
care este accesibil nodul.
Subgraful succesorilor unui nod este format din acel nod şi din mulţimea nodurilor care
sunt accesibile din el.
Componenta tare conexă din care face parte un nod este dată de intersecţia dintre
subgraful predecesorilor şi subgraful succesorilor unui nod.
Ex: Pt. Graful din figura de mai jos
8 9
9
Reprezentarea grafurilor
1.Reprezentarea prin matricea de adiacenţă Matricea de adiacenţă a unui graf este o
matrice pătratică de ordinul n ale cărei elemente a ij sunt definte astfel:
1, dacă [i,j] U
ai,j=
0, dacă [i,j] U
1 2 7
1 2 3
5 6
4 3 8 4 5 6
Graf1 Graf2
10
3
1 4 2
2
2 1
1
4
3 4 2
Arborele
Se numeşte arbore A un graf neorientat şi conex şi fără cicluri
Teorema: Următoarele definiţii sunt eechivalente pentru un graf G cu n noduri şi
m muchii:
1)G este un arbore
2)G este un graf aciclic cu n-1 muchii
3)G este un graf conex cu n-1 muchii
4)G este un graf fără cicluri maximal (dacă în graful fără cicluri G unim două
noduri oarecare neadiacente printr-o muchie, graful obţinut conţine un ciclu)
5)G este graf conex minimal (dacă în graful conex G suprimam o muchie oarecare,
graful obţinut nu mai este conex)
6)Orice pereche de noduri este legată printr-un lanţ şi numai unul
Propoziţie: Orice arbore cu n noduri are n-1 muchii
Propoziţie: Orice arbore cu n≥2 noduri conţine cel puţin două noduri terminale
1 2 3 4 5 6 7 8 9
3 1 4
T 5 3 5 5 0 3 4 1 7
2 6 8 7 9
11
Şiruri de caractere
Matrici (pătratice)
Fişiere
#include<fstream.h>
citirea din fişier:
fstream f(“C:\\fis1.txt”, ios::in); sau ifstream f(“C:\\fis1.txt”);
f>>n;
scrierea în fişier:
fstream g(“C:\\fis.txt”,ios::out); sau ofstream g(“C:\\fis.txt”);
g<<n;
închiderea:
f.close();
g.close();
13