Sunteți pe pagina 1din 135
Capitolul 7 Grafuri neorientate 7.1. Introducere Uneori, algoritmii trebuie s& prelucreze date referitoare la anumite elemente intre care exist’ anumite relatil. S4 analizdm exemplele urmétoare: 1. Se dau n orage. Unele dintre ele sunt unite prin gosele directe (care nu mal tree prin alt oras). 2. Se cunosc relatile de prietenie dintre n persoane. 3. Se dau n {ari gi se cunoaste relatia de vecinatate intre ele. Se dau n triunghiuri, iar unele dintre ele sunt asemenea. Pentru fiecare dintre aceste exemple se poate imagina 0 reprezentare gfafica care s& exprime relatile existent, > Convenim ca fiecare element sé-| numim nod sau vart. Astfel, in cazul 1. nodul este oragul, in cazul 2. nodul este persoana, in cazul 3. nodul este tara si in cazul 4. nodul este triunghiul. Convenim ca un nod (varf) s8-1 notam cu un cerculet tn care sa inscriem numaiul lui (de la 2 lan). > — Relafia existenta intre dous _noduri o vom reprezenta grafic unindu-le printr-un segment de dreapta. Convenim ca un astfel de segment 2-1 numim Muchie si dacé ea unegte nodurile 4 gi 3, s-0 notam cu (4,3) in cazul 4., muchia (4,3) are sermnificatia ci intre oragele 4 gi j existd o gosea directa, In cazul 2., muchia (4,3) are A persoanele 4 gj sunt pritene, in ©) cazul 3. muchia (4,3) are semnificatia 8 f2rle 4 gi 3 sunt vecine, iar in cazul 4., cB triunghiurile 4 si sunt asemenea. Q- (;) Procedand aga, obtinem o descriere grafica precum cea din figura 7.1 $i convenim ca o astfel de reprezentare s-o numim graf neorientat. Figura 7.1. Exemplu de gra neoriontat Desigur, aceasta abordare este intuitva. Teoria grafurilor este fundamentata matematic gi Jn cele ce urmeaza ne propunem s-o prezentam sistematic. Manual de informatica pentru clasa a X!-a 187 7.2. Definitia grafului neorientat Bs Definitia 7.1.'. Un graf neorientat este o pereche ordonata G=(v,=), Sunde: DV Carvers served este 0 muime finité $i nevi mutimil v se numiesc noduri (varfuri). . Elementole > Beste o multime finité de perechi neordonate de forma (vi, vs), unde i#3, si virvseV. Elementele multimil & se numesc muchi ‘Semnificatia unei muchil este aceea c uneste doua noduri Un graf poate fi desenat aga cum se observa in exemplul urmator (vezi figura 7.2), unde G © G=(V,2), ¥ = (1,2,3,4,5,601 B= C2), 3) 5) (203) Beh, @) (4,5) (=) Notatie: in graful G=(v,z), vom nota cum, @ () rnum&rul nodurlor si cu m numérul muchilor Figura 72 é Observati Ait exemplu de graf neoientat ¥ Dou’ noduri distincte pot fi unite prin cel mult 0 muchie. in exemplul de mai sus, (1,2) este muchia care uneste nodul 1 cu nodul 2. Daca scriem (2,1), ne referim la aceeasi muchie (perechea este neordonata). Y _Nu exist& o muchie care uneste un nod cu el Insugi (0 muchie uneste dou noduri istincte). ¢ Definitia 7.2. in graful Ge(v.z), nodurile distincte vivyeG sunt adiacente daca exist muchia (vi, v;)€z. “Vom spune c& muchia (vi, v,)eR este incident la nodule v, si vs, jn exemnplul dat anterior, odurile 1. gi 5 sunt adiacente, dar nodurite 2 51 5 nu ‘sunt adiacente, Muchia (4, 5) este incidenta la nodurile 4 si 5. Ss: Definifia 7.3. intr-un graf neorientat, prin gradul unui nod v se Infelege ‘fumérul muchiilor incidente cu nodul v si se noteazé cu av). Un nod cu gradul 0 se numeste nod izolat, iar unul cu gradul 1 se numeste nod terminal. ‘In exomplul dat, d(2)=2, (1) =3, 4(6)=0 (6 este nod izolat). * Definija este restrictivé, in unele lucrari veti intalni definitl mai putin restrictive, de ‘exemplu, poate exista o muchie de la un nod la el Insugi sau nu se cere ca multimea nodurilor 3 fie fit 188 ul 7. Grafuri neorientate O relatie util: fle un graf neorientat cum noduri gi m muchi. Daca notim cu és, 44, «=» a Grade celor n noduri,atuncl avem relatia +4, +45 +.., =2m, ‘+ Demonstratie: fiecare muchie face sa creasca gradele celor doua noduri la care este incident cu cate o unitate. Prin urmare, se obtine relafia anterioara. Pentru a intelege bine notiunile prezentate in acest paragraf, ne vom refer la exempiele din paragraful 7.4: Fie afirmatia: gradul nodului i este %. Pentru exemplul 1., ea are semnificatia c& din oragul i pleaca (sosesc) k sosele, pentru exemplul 2., are semnificatia c& persoana 4 are k prieteni, pentru exemplul 3., are semnificatia c& fara i se invecineazé cu & {ari, iar pentru exemplul 4., are semnificatia c& pentru triunghiul 4 se cunosc & triunghiuri asemenea. Aci trebuie facuta observatia c& ar putea s& existe si alte triunghiuri asemenea cu el, dar modul in care putem afla aceasta va fi tratat separat. Fie afirmatia: nodurile 4 si 3 sunt adiacente. Pentru exemplul 2., ea are semnificatia c& oragele 4 si 3 sunt unite printr-o sosea care nu trece prin alte orage, pentru exemplul 2., are semnificatia c& persoanele 4 si 3 sunt prietene, pentru exemplul 3., are semnificatia c& fale 4 si 4 sunt vecine, iar pentru ‘exemplul 4.., are semnificatia cd triunghiurile 4 gi 3 sunt asemenea, Fie afirmatia: nodul 4 este izolat. Pentru exemplul 2., inseamna c& nu exist nici o gosea care leag’ oragul 4 cu alt orag, pentru exemplul 2., inseamn’ c& persoana 4 nu ate nici un prieten, pentru exemplul 3., inseamna cd tara 4 nu se ‘invecineaza cu nici o tard (este situata pe o insula), pentru exemplul 4., inseamna ca nu exist nici un triunghi dintre celelalte n-2 triunghiuri care s& fie asemenea cu triunghiul 3 7.3. Memorarea grafurilor in acest paragrat, prezentém principalele structuri de date prin care grafurile pot fi memorate in vederea prelucrari lor. De la Inceput, precizzim faptul c8 vom alage o structura sau alta in functie de’ 1a) algoritmul care prelucreaz’ datele referitoare la graf; 1b) memoria interna pe care programul o are la dispozitie; €) daca graful contine multe muchii sau nu. Pentru fiecare structuré de date pe care o vom folosi, vom avea cate 0 procedura (functie) care citeste datele respective, Toate aceste subprograme se * Modul de alegere a structuri! vet! njelege pe parcursul studiulul acestui capitol

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