GIMNAZIJA
AKTUELNO
Forum
SAJTOVI
ZANIMLJIVO
Većsmo rekli da se veze u grafu predstavljaju na taj način da se u matrici susedstva članu Mij dodeli 1 (ili neki drugi broj ako je u pitanju težinski graf), inače je on 0.
Sada možemo deklarisatri sledeće funkcije:
Kao što je već rečeno, stepen čvora je broj veza sa drugim čvorovima u grafu. To znači da trebamo prebrojati koliko elemenata različitih od nule ima u redu matrice koji odgovara čvoru grafa za kog tražimo stepen.
Function StepenCvora(Var G : TGraf; v : TCvor): Integer;
var Pom, i : Integer;
Begin
Pom := 0;
For i := 1 to G.N do
if G.M[v, i] > 0
then Pom := Pom + 1;
StepenCvora := Pom;
End;
Često ćete u litaraturi pronaći dve odvojene funlcije koje se koriste: jedna za prvog
suseda, a druga za sledećeg suseda. Možda ovo što ćemo ovde navesti nije uvek
opravdano, no mi zaključismo da je jedna funkcija dovoljna a to je Sledeći sused.
Kada nam bude trebao prvi sused nekog čvora, stavićemo treći parametar funkcije na nulu.
Pod susedom čvora v podrazumeva se čvor w, ako su čvorovi v i w u vezi.
Pod sledećim susedom čvora v nakon čvora x podrazumeva se sledeči
čvor koji je u vezi sa v. U matrici susedstva, to predstavlja prvi sledeći elemenat
u redu v, koji je različit od nule, a nakon kolone x. Ako takvih elemenata nema, tada čvor
v nema više suseda.
Ako nam je potreban prvi sused čvora v, tada parametar x u pozivu funcije postavljamo na 0.
Function SledeciSused(Var G : TGraf; v, x : TCvor): Integer;
var i : Integer;
Begin
SledeciSused := 0;
For i := x+1 to G.N do
if G.M[v, i] > 0
then Begin
SledeciSused := i;
exit;
End;
End;
Pošto je veza izmedju dva čvora u grafu predstavljena brojem upisanim u preseku kolona i redova koji predstavljaju čvorove, tao je uklanjanje veze u stvari postavljanje tih članova matrice susedstva na nulu.
Function UkloniGranu(Var G : TGraf; v, u : TCvor): Integer;
Begin
G.M[u, v] := 0;
G.M[v, u] := 0;
End;
Pošto je veza izmedju dva čvora u grafu predstavljena brojem upisanim u preseku kolona i redova koji predstavljaju čvorove, tao je njihovo povezivanje u stvari postavljanje tih članova matrice susedstva na odgovarajući broj.
Function Dodaj(Var G : TGraf; v, u : TCvor; x : Integer;): Integer;
Begin
G.M[u, v] := x;
G.M[v, u] := x;
End;