Reprezentarea geometric dac aij<>0 atunci Reprezentarea matriceal u:=u+1 o Matricea de adiacen pentru p:=1,n execut o Matricea de inciden bpu:=0; Reprezentarea cu tablouri sfpentru unidimensionale biu:=1; o Lista arcelor bju:=-1; o Lista succesorilor sfdac; o Lista predecesorilor sfpentru; sfpentru. ALGORITM CONVERSIA REPREZENTRII UNUI GRAF DIN MATRICEA DE ADIACEN A EXEMPLU N MATRICEA DE INCIDEN B. 2 Reprezentarea matricial Un graf G=(X,U) se poate reprezenta cu ajutorul 1 1 2 3 matricei de adiacen (vrfuri-vrfuri) sau al 3 matricei de inciden (vrfuri-arce). Fiecare linie i coloan corespunznd unui vrf sau unui arc MATRICEA DE MATRICEA DE (muchie) al grafului. ADIACEN 4 INCIDEN MATRICEA DE ADIACEN 0 1 0 0 1 0 0 Matricea de adiacen este o matrice ptratic, 0 0 1 1 -1 1 1 linia i coloana i corespunznd vrfului i al 0 0 0 0 0 -1 0 grafului. Elementele matricei de adiacen se 0 0 0 0 0 0 -1 definesc astfel: aij=1, dac (i,j) U Implementare Pascal 0, dac (i,j)U, i,j X program algoritm1; MATRICEA DE INCIDEN type MATRICE=array[1..20,1..20] of integer; Matrice de inciden se ataeaz grafelor var a, b:MATRICE; simple (fr bucle) i a cror mulime de arce s-a n,i,j,u,p:integer; ordonat, adic s-au numerotat arcele, U={1,2,..., begin m}. Linia i corespunde vrfului i, iar coloana u write('n=');readln(n); corespunde arcului u. Deci matricea este de tip for i:=1 to n do nxm. Elementele matricei de inciden se for j:=1 to n do definesc astfel: begin bij= 1, dac exist jX: u=(i,j) write ('a[',i,',',j,']='); readln (a[i,j]); end; -1, dac exist jX: u=(j,i) iX, u U. u:=0; 0 , altfel for i:=1 to n do ALGORITM conversia reprezentrii unui for j:=1 to n do graf din matricea de adiacen a n matricea if a[i,j]<>0 then de inciden b. begin Fiecare valoare nenul din A definete un arc i u:=u+1; acestuia i corespunde o coloan n B. Cum for p:=1 to n do ordinea coloanelor n B nu are importan, se b[p,u]:=0; poate parcurge matricea A fie pe linii fie pe b[i,u]:=1; coloane i pentru fiecare valoare nenul gsit b[j,u]:=-1; se va genera o coloan n matricea B. Indicii de end; linie i de coloan ai elementului nenul din A sunt for i:=1 to n do indicii de linii n care noua coloan din B va avea begin elementele nenule 1 repectiv -1. for j:=1 to u do write(b[i,j]); Algoritmul n pseudocod writeln; Citeste n i A end; u:=0; readln; pentru i:=1,n execut end. pentru j:=1,n execut