Anda di halaman 1dari 10

1.

GRAFURI

1.1 Scurt istoric

- originile se gasesc in rezolvarea unor jocuri si amuzamente matematice care au atras atentia unor
matematicieni: Euler, Hamilton, Birkoffm, etc.;
- data nasterii teoriei grafurilor este anul 1736 cand matematicianul L. Euler a clarificat problema celor 7
poduri;
- problema suna asa: prin orasul Kronigsberg trece raul Pregel care dupa ce inconjoara o insula se desparte
in doua brate. Astfel exista 4 zone de pamant (A-B) care sunt udate de apa raului, acestea comunica cu
ajutorul a sapte poduri (1-7). Locuitorii si-au pus problema urmatoare: este posibil a plecand dintr-o zona
oarecare sa se parcurga un traseu astfel incat acesta sa treaca peste toate cele sapte poduri, trecand o
singura data peste fiecare pod?
- probleme inrudite cu cea a podurilor sunt cele de labirint, circuite electrice, drumuri, , etc.;
- teoria grafurilor se poate utiliza in foarte multe probleme concrete, aplicarea sa depinde si de capacitatea
rezolvitorului de a asocia problemei sale un graf si de a-si formula problema in termenii teoriei grafurilor.

1.2 Grafuri neorientate – notiuni de baza

DEF. Se numeste graf neorientat o pereche ordonata de multimi notata G=(V, M)unde:
V=este o multime finita si nevida numita multimea varfurilor (nodurilor lui G)
M=este o multime formata din perechi neordonate de elemente distincte din V, numita multimea
muchiilor lui G.
Ex:
G=(V,M)
V={1,2,3,4,5}
M={(1,2), (1,3), (1,4),(2,4), (2,5), (3,5), (4,5)}
a b c d e f g

OBS. Un graf poate fi reprezentat sub forma unei figuri geometrice formata din puncte (varfuri, noduri) si linii
drepte sau curbe (muchii) care unesc punctele (daca este cazul).
Putem nota cu n numarul de varfuri (ordinul grafului) si cu m numarul de muchii (dimensiunea
grafului).
Notiuni elementare:
- daca o muchie trece prin varfurile x si y se noteaza (x,y), iar varfurile x si y se spune ca sunt adiacente si
se mai numesc extremitatile muchiei ( (x,y)=(y,x) nu exista orientare)
- daca doua muchii m1=(x,y) si m2=(y,z) au o extremitate comuna ele se numesc muchii incidente iar
varfurile x si y sunt incidente cu muchia m1 iar varfurile y si z sunt incidente cu muchia m2;

DEF. Gradul unui varf x, este notat cu d(x) si reprezinta numarul muchiilor care trec prin acesta (muchiile
incidente cu varful x).
EX: varful 2 are gradul 3 => d(2)=3 deoarece varful 2 este incident cu muchiile a, e si d.
OBS. Un varf cu gradul 0 poarta numele de varf izolat.
Un varf cu gradul 1 poarta numele de varf terminal.
Proprietate: Intr-un graf cu n varfuri si m muchii suma gradelor varfurilor este egala cu 2*numarul muchiilor.

Exercitii:
1. Pentru anumite grafuri (date prin desen) determinati: multimea varfurilor, multimea muchiilor, varfurile
terminale si varfurile izolate.

1
2. Pentru anumite grafuri date prin multimile specifice realizati desenul si determinati pentru fiecare varf
gradul.

1.3 Reprezentarea si parcurgerea grafurilor

Cele mai cunoscute forme de reprezentare a grafurilor sunt:


- matricea de adiacenta;
- lista vecinilor;
- vectorul muchiilor.

a. Matricea de adiacenta
Consideram un graf cu n varfuri si m muchii. Reprezentarea se face cu ajutorul unei matrici cu n linii si n coloane
numarul liniilor si coloanelor reprezentand varfurile grafului, iar elementele matricii vor fi valori de 0 si 1 cu
urmatoarea semnificatie: daca intre i si j i,j apartinand multimii {1,2,3,…,n} exista muchie valoarea din matrice
va fi 1 iar daca nu valoarea din matrice va fi .

1 daca (i, j) V
a[i, j]  
0 altfel
EX: Se da graful:
G=(V,M)
V={1,2,3,4,5}
M={(1,2), (1,3), (1,4),(2,4), (2,5), (3,5), (4,5)}
a b c d e f g
Se cere sa se scrie matricea de adiacenta.
0 1 1 1 0
1 0 0 1 1
A= 1 0 0 0 1
1 1 0 0 1
0 1 1 1 0
Se va observa:
- matricea este simetrica fata de diagonala principala;
- diagonala principala are numai valori de 0;
- suma elementelor unei linii reprezinta gradul varfului respectiv;
- daca o linie are numai valori de 0 atunci varful respectiv este izolat.
Exercitii:
1. Se citesc de la tastatura m perechi de numere intregi de forma (x,y) reprezntand cele m mchii ale unui
graf. Varfurile citite vor apartine multimii {1,2,…,n} n fiind citit de la tastatura. Se cere sa se
construiasca matricea de adiacenta a grafului. (eficient)
2. Cunoscand matricea de adiacenta a unui graf (se va citi de la tastatura, eficient ) se cere sa se tipareasca
muchiile grafului respectiv, ordinul si dimensiunea.
3. Se da o matrice de adiacenta a unui graf intr-un fisier text. Se cere sa se tipareasca gradul unui varf x citit
de la tastatura, si sa se determine varfurile izolate si cele terminale.

b. Lista vecinilor
Pentru fiecare varf i formam lista vecinilor care cuprinde toate varfurile care sunt extremitati ale muchiilor ce trec
prin varful i. Astfel pentru graful de mai sus avem
Nodul 1 => lista vecinilor: 2,3,4
Nodul 2 => lista vecinilor: 1,4,5
Nodul 3 => lista vecinilor: 1,5
Nodul 4 => lista vecinilor: 1,2,5
Nodul 5 => lista vecinilor: 2,3,4

OBS. Fiecare linie i contine indicii coloanelor pe care se gasesc valori de 1, in matricea de adiacenta.
c. Vectorul muchiilor

2
Se va folosi tipul de data:
Type muchie=record
v1,v2: integer;
end;
var v:array[1..100]of muchie;

Pentru graful de mai sus vom avea:

Indice 1 2 3 4 5 6 7
Varf1 1 1 1 2 2 3 4
Varf2 2 3 4 4 5 5 5

Probleme:
1. Se citeste de la tastatura matricea de adiacenta a unui graf neorientat cu n varfuri. Sa se afiseze varfurile
de grad maxim si minim in graf.
2. Intr-un oras un primar doreste sa puna in fiecare intersectie panouri luminoase (rosii, albastre si vezi)
astfel incat pe fiecare strada delimitat de doua intesectii sa nu se intalneasca acelasi tip de panou de doua
ori.Gasiti o solutie de aranjare a panourilor. Se dau: numarul n de intersectii, numarul m de starzi,
precum si m perechi de numere intregi care semnifica cele doua intersectii care delimiteaza o strada.
3. Manual (Mateescu+Moraru) pagina 16.

1.4 Grafuri particulare (complet, bipartit, partial si subgraf)

DEF. Se numeste graf partial al unui graf G=(V,M), un graf G1=(V,M1) care are M1M, adica un graf care are
toate varfurile lui G dar lipsesc unele muchii.
EX:
Pentru graful
G=(V,M)
V={1,2,3,4,5}
M={(1,2), (1,3), (1,4),(2,4), (2,5), (3,5), (4,5)}
a b c d e f g
un graf partial al acestuia ar fi:
G1=(V,M1)
V={1,2,3,4,5}
M1={(1,2), (1,3), (1,4),(2,4), (2,5)}
a b c d e

DEF. Se numeste subgraf al unui graf G=(V,M) un graf G2=(V2,M2) care are M2M si V2V, adica un graf
care are numai unele varfuri din graful initial si muchiile care au toate extremitatile in multimea V2.
EX:
Pentru graful
G=(V,M)
V={1,2,3,4,5}
M={(1,2), (1,3), (1,4),(2,4), (2,5), (3,5), (4,5)}
a b c d e f g
un graf partial al acestuia ar fi:
G2=(V2,M2)
V2={1,2,3}
M2={(1,2), (1,3)}
a b
DEF. Se numeste graf complet un graf cu proprietatea ca oricare doua varfuri sunt adiacente.
EX:
G3=(V3,M3)
V3={1,2,3,4}
M3={(1,2), (1,3), (1,4),(2,3),(2,4), (3,4)}
a b c d e f

3
OBS. Un graf complet cu n varfuri are n(n-1)/2 muchii.
Alte grafuri particulare: graf bipartit, graf bipartit complet.

1.5 Notiuni de lant si ciclu

DEF. Se numeste lant in graful G, o succesiune de varfuri cu proprietatea ca oricare doua varfuri consecutive
sunt adiacente.
EX:
G=(V,M)
V={1,2,3,4,5}
M={(1,2), (1,3), (1,4),(2,4), (2,5), (3,5), (4,5)}
a b c d e f g
Un lant ar fi L1={1,4,3,5} unde 1 si 4 sunt extremitatile lantului, iar numarul de muchii componente indica
lungimea lantului (l1 are lungimea 3).
L2={1,2,4,1,3}

OBS. Un lant poate fi vazut ca un traseu intre doua varfuri din graf.
Daca varfurile care compun lantul sunt distincte doua cate doua atunci lantul este elementar, iar daca nu
este neelementar. (L1=elementar, L2=neelementar)

DEF. Se numeste ciclu intr-un graf un lant care are egala extremitatea initiala cu cea finala si muchiile care-l
compun sunt distincte doua cate doua.

C1={(1,4),(4,5),(5,2),(2,1)} sau {1,4,5,2,1}

OBS. Daca varfurile care compun ciclul sunt distincte doua cate doua atunci ciclul este elementar, iar daca nu
este neelementar. (C1=elementar)

Probleme
1. Sa se verifice daca o secventa de varfuri data reprezinta un lant elementar sau ne-elementar inr-un graf
neorientat.
2. Sa se genereze pentru un graf neorientat cu n varfuri toate lanturile care pornesc dintr-un varf dat de la
tastatura, lanturi de lungime x.
3. Sa se genereze toate ciclurile elementare dintr-un graf neorientat cu n varfuri.
4. Manual (Mateescu+Moraru) pagina 26.

1.6 Parcurgerea graurilor neorientate

Prin parcurgerea unui graf se intelege vizitarea varfurilor sale intr-o anumita ordine. Exista doua metode:
a. algoritm de parcurgere in latime BF (Breadth First)
b. algoritm de parcurgere in adancime DF (Depth First)

a. Algoritmul BF
Metoda presupune urmatorii pasi:
- se porneste de la un varf de start 1;
- vizitam toti vecinii lui 1: 2,3,4
- pentru fiecare vecin a lui 1 repetam vizitarea vecinilor acestora care nu au fost inca vizitati, astfel: pentru
2 avem 5 (deoarece 4 a fost vizitat), pentru 3 nu mai avem, la fel si pentru 4 si 5.
- Ordinea ar fi: 1,2,3,4,5.
Algoritmul transpus in Pascal va utiliza:
- matricea de adiacenta a grafului n varfuri;
- un vector vizitat cu n elemente care pentru fiecare varf vizitat va avea 1 altfel 0;
- un vector parcurg unde se vor retine varfurile in ordinea parcurgerii;

for i:=1 to n do vizitat[i]:=0; {se initializeaza vectorul cu 0}


for i:=1 to n do parcurg[i]:=0; {se initializeaza vectorul de parcurgere cu 0}
vpornire:=1; {varful de pornire este 1}

4
vizitat[vpornire]:=1;
k:=1;
j:=1; { contor }
parcurg[k]:=vpornire;
while j<=k do
begin
for i:=1 to n do {se parcurge linia lui jpentru a se gasi vecinii nevizitati}
if ( a[j,i]=1)and(vizitat[j]=0) then
begin
k:=k+1;
parcurg[k]:=i;
vizitat[i]:=1;
end;
j:=j+1;
end;
for i:=1 to k do write(parcurg[i],’ ‘);

b. Algoritmul DF
Metoda presupune urmatorii pasi:
- se porneste de la un varf de start 1;
- se viziteaza primul dintre vecinii lui: 2;
- dupa care se continua dupa aceasta regula (primul vecin vizitat pentru fiecare varf);
- astfel ordinea parcurgerii va fi: 1, 2, 4, 5, 3.

Problema: Sa se scrie un algoritm care implementeaza algoritmul descris mai sus.

1.7 Conexitate

DEF. Un graf neorientat se numeste conex daca oricare ar fi doua varfuri ale sale exista un lant care le leaga.
DEF. SE numeste componenta conexa a grafului G=(V,M), un subgraf G1=(V1,M1) a lui G, cu proprietatea
ca nu exista nici un lant care sa lege un varf din V1 cu un varf din V-V1.

Problema:
1. Se da un graf neorientat prin matricea de adiacenta si se cere sa se verifice daca este conex.
2. Se da matricea de adiacenta a unui graf cu n varfuri si se cere sa se determine toate componentele
conexe.

OBS. Un graf conex are o singura componenta conexa, deci daca in urma parcurgerii grafului prin algoritmul BF
se viziteaza toate varfurile atunci graful este conex.

1.8 Grafuri hamiltoniene si grafuri euleriene

DEF. Se numeste ciclu hamiltonian intr-un graf, un ciclu elementar care contine toate varfurile grafului. Se
numeste graf hamiltonian un graf care contine un ciclu hamiltonian.
EX:
G=(V,M)
V={1,2,3,4,5}
M={(1,2), (1,5), (1,4),(2,3), (2,5), (3,4), (3,5), (4,5)}
a b c d e f g h
C={1,2,3,5,4,1}

DEF. Se numeste lant hamiltonian intr-un graf, un lant elementar care contine toate varfurile grafului.

DEF. Se numeste ciclu eulerian intr-un graf, un ciclu care contine toate muchiile grafului.
Se numeste graf eulerian un graf care contine un ciclu eulerian.
EX:
G=(V,M)

5
V={1,2,3,4,5}
M={(1,2), (1,5), (2,3), (3,4), (4,5)}
a b c d e
C={1,2,3,4,5,1}

OBS. Un graf fara varfuri izolate este eulerian daca si numai daca este conex si gradele tuturor varfurilor sunt
pare.

Probleme:
1. Se citesc m perechi de intregi (x,y) reprezentand extremitatile muchiilor unui grafneorientat cu n varfuri.
Sa se verifice daca graful este eulerian tiparindu-se un mesaj corespunzator.
2. manual Mateescu+Moraru pagina 79.

1.9 Grafuri orientate – notiuni de baza

DEF. Se numeste graf orientat o pereche ordonata de multimi notata G=(N, A)unde:
N=este o multime finita si nevida numita multimea nodurilor lui G;
A=este o multime formata din perechi ordonate de elemente din N, numita multimea arcelor lui G.
Ex:
G=(N,A)
N={1,2,3,4,5}
A={(1,2), (1,3), (1,4),(2,4), (3,1), (3,4), (4,3), (5,4), (4,5), (3,5), (5,3)}
a b c d e f g h i j k

OBS. Arcul (x,y) <> (y,x)


Un graf poate fi reprezentat sub forma unei figuri geometrice formata din puncte (noduri) si linii drepte
sau curbe cu orientare (sageti = arce) care unesc punctele (daca este cazul).
Putem nota cu n numarul de noduri (ordinul grafului) si cu m numarul de arce (dimensiunea grafului).
Fiecare arc are forma (x,y) unde x este extremitatea initiala si y este extremitatea finala (sau y este
succesorul lui x).
Notiuni elementare:
- daca un arc trece prin nodurile x si y se noteaza (x,y), iar varfurile x si y se spune ca sunt adiacente;
- daca doua arce m1=(x,y) si m2=(y,z) au o extremitate comuna ele se numesc arce incidente iar nodurile
x si y sunt incidente cu arcul m1 iar nodurile y si z sunt incidente cu arcul m2;
- un arc de forma (x,x) care iese din nodul x si intra tot in nodul x se numeste bucla.

DEF.Gradul exterior al unui nod x, este notat cu d+(x) si reprezinta numarul arcelor care ies din nodul x.
Gradul interior al unui nod x, este notat cu d-(x) si reprezinta numarul arcelor care intra in nodul x.

EX: nodul 4 are gradul exterior 2 si gradul interior 4 => d +(4)=2 si d-(4)=4

Exercitii:
1. Pentru anumite grafuri (date prin desen) determinati: multimea nodurilor, multimea arcelor.
2. Pentru anumite grafuri date prin multimile specifice realizati desenul si determinati pentru fiecare varf
gradul interior si exterior.

1.10 Reprezentarea grafurilor orientate

Cele mai cunoscute forme de reprezentare a grafurilor sunt:


- matricea de adiacenta;
- matricea noduri-arce;
- lista vecinilor;
- vectorul arcelor
- matricea drumurilor.
Consideram un graf orientat cu n noduri si m arce.

6
a. Matricea de adiacenta
Reprezentarea se face cu ajutorul unei matrici cu n linii si n coloane numarul liniilor si coloanelor reprezentand
nodurile grafului, iar elementele matricii vor fi valori de 0 si 1 cu urmatoarea semnificatie: daca intre i si j i,j
apartinand multimii {1,2,3,…,n} exista arc valoarea din matrice va fi 1 iar daca nu valoarea din matrice va fi .
(Matricea nu va mai fi simetrica ca si la grafuri neorientate)

1 daca (i, j)  A
a[i, j]  
0 altfel
EX: Se da graful:
G=(N,A)
N={1,2,3,4,5}
A={(1,2), (1,3), (1,4),(2,4), (3,1), (3,4), (4,3), (5,4), (4,5), (3,5), (5,3)}
a b c d e f g h i j k

Se cere sa se scrie matricea de adiacenta.


0 1 1 1 0
0 0 0 1 0
A= 1 0 0 1 1
0 0 1 0 1
0 0 1 1 0
Se va observa:
- matricea este nu este simetrica fata de diagonala principala;
- diagonala principala poate avea si valori de 1;
- suma elementelor unei linii reprezinta gradul exterior al nodului respectiv;
- suma elementelor unei coloane reprezinta gradul interior al nodului respectiv;
Exercitii:
1. Se citesc de la tastatura m perechi de numere intregi de forma (x,y) reprezntand cele m arce ale unui graf.
Nodurile citite vor apartine multimii {1,2,…,n} n fiind citit de la tastatura. Se cere sa se construiasca
matricea de adiacenta a grafului. (eficient)
2. Cunoscand matricea de adiacenta a unui graf (se va citi de la tastatura, eficient ) se cere sa se tipareasca
arcele grafului respectiv, ordinul si dimensiunea.
3. Se da o matrice de adiacenta a unui graf intr-un fisier text. Se cere sa se tipareasca gradul interior si
exterior al unui nod x citit de la tastatura.

b. Matricea noduri-arce
Arcelor se vor nota cu numere sau litere.
Este o matrice b cu n linii si m coloane in care elementele au urmatoarea semnificatie (linia i coloana j):
- 1 daca nodul i este o extremitate initiala a arcului j;
- -1 daca nodul i este extremitate finala a arcului j;
- 0 daca i nu este nici o extremitate a arcului j.

EX: Se da graful:
G=(N,A)
N={1,2,3,4}
A={(1,2), (3,2), (4,2),(3,4), (4,3)}
1 2 3 4 5

1 0 0 0 0
1 1 1 0 0
B=
0 1 0 1 1
0 0 1 1 1

OBS. Pe fiecare coloana sunt doua valori una 1 si una –1, liniile corespunzatoare lor reprezentand extremitatile
arcului respectiv.
7
Numarul valorilor de 1 de pe o linie reprezinta gradul exterior al unui nod iar valorile de –1 reprezinta
gradul interior al nodului.

c. Lista vecinilor
Pentru fiecare nod x formam listele vecinilor:
- L+(x) care cuprinde toate nodurile care sunt extremitatile finale ale arcelor care ise din x (succesorii)
- L-(x) care cuprinde toti predecesorii lui x.

Astfel pentru graful de mai sus avem


Nodul L+(x) L-(x)
1 2 -
2 - 1,3,4
3 2,4 4
4 2,3 3

d. Vectorul arcelor

Se va folosi tipul de data:


Type arc=record
nod_i, nod_f: integer;
end;
var a:array[1..100]of arc;

Pentru graful de mai sus vom avea:

Indice 1 2 3 4 5
Nod_i 1 3 4 3 4
Nod_f 2 2 2 4 3

Probleme:
Manual (Mateescu+Moraru) pagina 41.

1.11 Graf partial si subgraf

DEF. Se numeste graf partial al unui graf G=(N,A), un graf G1=(N,A1) care are A1A, adica un graf care are
toate nodurile lui G dar lipsesc unele arce.
EX: -

DEF. Se numeste subgraf al unui graf G=(N,A) un graf G2=(N2,A2) care are A2A si N2N, adica un graf
care are numai unele noduri din graful initial si arcele care au toate extremitatile in multimea N2.
EX: -

Probleme:
Manual (Mateescu+Moraru) pagina 35.
Alte notiuni: graf complet.

1.12 Drumuri si circuite in grafuri orientate

Definitii:
- drum
- drum elementar
- circuit
- circuit elementar

8
1.13 Conexitate in grafuri orientate

DEF. Un graf orientat se numeste conex daca oricare ar fi doua varfuri ale sale exista un lant care le leaga. (nu
se tine cont de orientarea arcelor)
DEF. Se numeste componenta conexa a grafului G=(N,A), un subgraf G1=(N1,A1) a lui G, cu proprietatea ca
nu exista nici un lant care sa lege un varf din N1 cu un varf din N-N1. (pentru orice nod, nu exista un lant
intre acel nod si nodurile care nu fac parte din subgraf)

DEF. Un graf orientat se numeste tare conex daca oricare ar fi doua varfuri ale sale x si y exista un drum de la
x la y si unul de la y la x.
DEF. Se numeste componenta tare conexa a grafului G=(N,A), un subgraf G1=(N1,A1) a lui G, tare conex si
maximal in raport cu aceasta proprietate.( adica pentru orice nod x apartine lui N-N1, subgraful indus de
N1u{x} nu mai este tare conex.

Algoritmul de descompunere a unui graf in componente tare conexe - manual pagina 90.

Problema:
1. Se da un graf orientat prin matricea de adiacenta si se cere sa se verifice daca este tare conex.

1.14 Drumuri minime si maxime in grafuri orientate

Se da un graf cu n noduri, in care fiecarui arc i se asociaza un cost (depinde de problema). Pentru reprezentare se
va utiliza o matrice (matricea costurilor) cu n linii si n coloane astfel:
-forma pentru drumuri de cost minim

c, daca _ exista _ cos t _ int re _ nodurile _ i, j



C= 0, daca, i  j
inf init, daca _ nu _ exista _ arc _ int re _ i, j

-in forma pentru drumuri de cost maxim se inlocuieste cu –infinit. (pentru valorile + si – infinit se vor lua valori
foarte mari, respectiv mici.

Se da un graf orientat cu n noduri pentru care se cunoaste matricea costurilor. Se cere sa se determine pentru
fiecare pereche de noduri sa se tipareasca costul minim al drumului de la un nod la altul.
Pentru rezolvare se va utiliza algoritmul lui Roy-Floyd:
For k:=1 to n do
For i:=1 to n do
For j:=1 to n do
If a[i,k]+a[k,j]<a[i,j] then a[i,j]:= a[i,k]+ a[k,j];

Obs. Pentru drumuri de cost maxim se va inlocui conditia cu a[i,k]+a[k,j]>a[i,j]

Problema manual pagina 95 – speologi.

9
1.15 Arbori

Ex: arborele genealogic al unei familii (relatii tata (parinte) –fiu, noduri terminale, frunze, radacina )

DEF. Un graf conex fara cicluri se numeste arbore.


OBS.
– daca se adauga o muchie => un ciclu
– daca se suprima o muchie => nu mai este conex
– un arbore cu n varfuri are n-1 muchii
– radacina=nod in care nu intra nici un arc
– predecesorul unui nod=parinte (intr-un nod intra un singur arc cel al parintelui)
– dintr-un nod pot iesi mai multe arce (cele ale fiilor, sau ale succesorilor)
– nodurile sunt organizate pe nivele (radacina e pe primul nivel, iar vf. Terminale pe ultimul)
– nodurile pot contine informatii=chei ale arborelui
EX:

1.16 Arbori binari

DEF. Arbore binar = un arbore cu proprietatea ca fiecare nod (cu exceptia frunzelor) are cel mult doi descendenti
numiti succesorul drept si cel stang.

OBS. Un arbore cu proprietatea ca fiecare nod are exact doi descendenti cu exceptia frunzelor se numeste arbore
binar complet.

EX:

1.17 Reprezentarea arborilor

Se numeroteaza nodurile.
Reprezentarea:
- statica: folosind vectori
- dinamica: folosind pointeri
Statica:
a. utilizeaza o variabila in care se retine radacina si doi vectori ( s si d) in care pentru fiecare nod se retine
succesorul stang si cel drept, iar daca nu exista se retine 0.
EX:
b. utilizeaza tot doi vectori: p in care se retin pentru fiecare nod predecesorul lui si t in care se specifica pentru
fiecare nod ce fel de succesor este (-1 pentru stang si 1 pentru drept (pentru radacina 0).
EX:

Problema manual pagina 31 ex. 1 si 2

1.18 Arborele partial de cost minim

Manual pagina 80

10

Anda mungkin juga menyukai