Download as docx or pdf
Download as docx or pdf
You are on page 1of 18
2. Gradul unui varf Gradul unui varf este caracterizat prin gradul intern gi gradul extern. Definitie Gradul intern al unui varf x al grafului G este egal cu numéarul arcelor care intra in varful x gi senoteazd cu d (x). Definitie Gradul extern al unui varf x al grafului G este egal cu numarul arcelor care ies din varful x gi se noteaza cu d' (x). + se numeste varf terminal un varf care are suma gradelor egala cu 1 (este incident cu un singur arc); + se numeste varf izolat un varf care are suma gradelor egal cu 0 (nu este adiacent cu niciun alt nod al grafului); a (1)=2 at (ay=1 ‘ 7 a” (2)=0 at (2)=2 Exemplu 2 » O.. a3 at (3) =2 Fie graful 6= (x, U).n=7 a4) a*(4)=0 a ee “g/t gm eee m= = a (6 at (6)=1 o a (7)=0 a* (7) =0 ° varfuri terminale: 4, 5 si 6 varf izolat: 7 Teorema Intr-un graf G=(X,U) cu n varfuri si m arce, suma gradelor interne ale tuturor varfurilor este egal cu suma gradelor externe ale tuturor varfurilor si este egala cu numarul de arce: Ler )=La(i)=m Exemplu Fie graful G=(X,U). n=7 - numéarul de varfuri m=6 - numéarul de arce ata) a (2)=0 at (2) 2 F (3) =2 a! (3) dq (4)=1 at (4)=0 ul fue . a (5)=1 at (5)=0 d-(6)=0 a (6 » a7 (7)=0 ah(7)=0 am (1) 4d” (2) +07 (3) HA (4) 407 (5) +a (6) +d (7) = =d* (1) +a* (2) +a" (3) +47 (4) 4a* (5) 4a" (6) 4d" (7) =6 suma gradelor interne = 6 suma gradelor externe = 6 d. Reprezentare prin matricea costurilor Matricea costurilor unui graf cu n varfuri este o matrice patraticd de ordinul n, ale carei elemente a: , ; sunt definite astfel: ¢, dacé existé un arc cu costul c>0 intre varfurile i si j, cu i@j daca i=j [42, dacé nu exista are intre varfurile i sij, cui#j Exista doua forme de reprezentare a matricei costurilor: + matricea costurilor minime — pentru a determina valoarea minima a functiei de cost (+=) + matricea costurilor maxime — pentru a determina valoarea maxima a functiei de cost (-=) Exemplu og + 203 4 5 6 7 Fie graful G= (x, U) 2, dol=]*]-l-]<|— n=7 - numérul de varfuri nes = numarul de arce x delolsl=[-l=[= si costurile aate[folel=[=[ = wi=5, u2=3, u3=4, ws=6, U5=2, Ug=5 am fae [ae [oo [am [ae | ae Matricea costurilor minime asociata grafului dateste. | = | = | + [= | |e | te d=l=l-l=felo[ = qelelelefe[e[o 5. Graf ponderat Definiti Se numeste 9'af ponderal un graf in care fiecare arc are asociata o yaloare/cost. Un graf ponderat poarté denumirea si de grat valoric sau graf cu costuri Valoarea asociata arcului are semnificatia de “cost” al legaturii intre cele doua varfuri, sau de “distanta” intre cele doua varfuri. Un graf ponderat poate fi reprezentat utilizand matricea costurilor. Exemplu Fie graful G=(X,U). n=7 ~ numarul de varturi de arce si costurile’ Ui=5, u2=3, U3=4, U4=6, U5=2, U6E=5 Graf ponderat: » 6. Graf partial Definitie Fie graful G=(X,U) si multimea VoU. Graful 6 =(x,V) se numeste graf partial al arafulul G. Un graf partial al grafului G este chiar graful G sau se obtine din G pastrand toate varturile sieliminand niste arce. Teorema Numarul de grafuri partiale ale unui graf cu m arce este egal cu 2". Exemplu - ° Fie graful c= (x, 0). n=7 2 2 a > numarul de varfuri » [. s m=6 ~ numarul de arce ‘ Prin eliminarea arcelor (2,1) si (3,1) se obtine graful partial: numarul devartui 1» Og, numarul de arce al y) b. Graf bipartit Definitie Graful G= (x, 0) se numeste graf biparlit daca exist doua mulfimi nevide de varfuri a si 8 care au urmatoarele proprietati: - AUB=X > ANB=@ = orice arc din multimea U are o extremitate in multimea de varfuri A gi cealalta extremitate In multimea de varfuri B. Definitie Se numeste graf bipartit complet, un graf bipartit cu proprietatea ca pentru orice varf x din A si orice varf y din 8, exist un arc format din cele doua varfuri care apartin mulfimii U. Pentru un graf orientat bipartit complet fiecare varf din A trebuie sa fie fie adiacent cu fiecare varf din mulfimea B. Exemple Fie graful G=(X,U). Graf bipartit: Graf bipartit complet: n=4 - numarul de varfuri 1 X={1,2,3,4} 2 2 B={2,4} 3 c. Graf turneu: Definitie Un graf orientat in care, Intre oricare doua varfuri exista un singur arc si numai unul, se numeste graf tumeu. + arcul dintre dou varfuri poate avea oricare dintre cele doud orientari; + graful turneu este un graf complet; Exemple: Graf turneu: Fie graful G=(X,U). rat tumeu > —numérul de varfuri 0 —numarul de arce 3 4 Exemple Fie graful G=(X,U). n = numarul de varfuri m - numarul de arce 1. Graf conex: a Graful nu este conex n=7, m=7 (are 2 componente sonexe): 1 5 n=7, m=64 3 7 3. Graf conex: 4. Graful nu este conex n=1, m=0 (are 5 componente conexe): n=7, m=3 1 ° Definitie Un graf orientat Gse numeste graf tare conex daca are proprietatea ca exista un drum Intre oricare varturi x si y distincte. Definitie: Daca un graf G=(x,U) nu este conex, se numeste componenta tare conex4a grafului un subgfraf conex c=(¥,V) al sau, maximal in raport cu aceasta proprietate (contine numarul maxim de varfuri din G care au proprietatea c&_sunt legate printr-un drum). a. Metoda de parcurgere “in latime” (BF — Breadth First) Se viziteaza mai intai un varf initial i, apoi vecinii acestuia, apoi vecinii nevizitati ai acestora, si asa mai departe pana cand se parcurg toate varfurile grafului, Exemple: Fie graful G=(X,U). n=? -numarul de varfuri m=7 -numarul de arce Parcurgeri in latime +1,3,7,4 12,1304 +3,1,4,7 +4 +5 +6,5 +7 b. Metoda de parcurgere “in adancime” (DF — Depth First) Se viziteazA mai intai un varfinitia i, dup& care se percurge unul dintre vecinii sai nevizitati j, dupa care se trece la alt vecin nevizitat al lui 3, si aga mai departe pand cand se parcurge tn adancime ramura respectiv. Cand s-a ajuns la capatul ei, se revine la varful din care s-a plecat ultima data si se parcurge alt vecin nevizitat Exemple: ’ Fie graful G=(X,U). { ‘ - numéarul de varfuri m=7 - numarul de muchii Parcurgeri in ad&ncime: +1,3,4,7 ‘ +2,1,3,4,7 +3,1,7,4 4 +5 +6,5 +7 IV. Arbori 4. Terminologie Definitie Se numeste arbore, un graf neorientat conex si fara cicluri. Teorema Fie G un graf neorientat cu n noduri. G este arbore daca si numai daca are n-1 muchii si nu contine cicluri. Definitie Se numeste arbore cu radacina, un arbore in care exist4 un nod privilegiat numit nod radacina. Definitie Se numeste arborescenta sau structura arborescenta, un arbore cu radacina, in care s-a stabilit nodul radacina. + radacina arborelui este un nod in care nu intra nicio muchie; + cu exceptia rdacinii, fiecare nod are propietatea c& in el intr o singuraé muchie; acesta leaga nodul respectiv de un alt nod numit predecesor sau parinte; + dintr-un nod pot iesi una sau mai multe muchii; fiecare astfel de muchie leaga nodul respectiv de un alt nod numit succesor sau fiu; + nodurile arborelului sunt organizate pe nivele, primul nivel find ocupat de nodul radacina; nodurile de pe ultimul nivel se caracterizeaza prin faptul ca din ele nu iese nicio muchie si se numesc noduri terminale sau frunze; > nodurile pot contine o asa-numita informatie util, numita si cheia nodulul; Exemplu Fie graful G=(x,U). n=? = numérul de noduri_m=6 = numarul de muchii X={1,2,3,4,5,6,7) U={ (1,2), (1,7), (2,3), (2,5), (2,6), (3,4) } Graful G este arbore cu radacina pentru c& are o singuré componenta conexa si este aciclic. Orice nod al grafului poate fi considerat nod radacina, Construirea arborelui avand ca radacina nodul 1: + radacina arborelui este nodul 1; * ascendentii nodului 3 sunt nodurile 1 gi 2; * ascendentul direct (predecesor) al nodului 3 este nodul 2; + descendentii nodului 2 sunt nodurile 3, 4, 5 si 6; + descendentii directi (succesor) ai nodului 2 sunt nodurile 3, 5 si 6; * nodurile terminale (frunze) sunt: 4, 5, 6 si 7; a. Reprezentare prin matricea de adiacenta Exemplu Fie arborele cu radacina din figura alaturata. n=7 - numéarul de noduri m=6 - numarul de muchii Matricea de adiacenta asociata arborelului cu radacina este: 1 2 3 4 5 6 7 - Rlolofololelo ol[R| Hole} ofK clolofHlolHlo clolololH|ole clolololol|Hie clololololHle clolofelolofre b. Reprezentare prin lista de adiacenta Exemplu Fie arborele cu radacina din figura alaturataé. n=7 - num&rul de noduri m=6 - numéarul de muchii Lista de adiacenta asociata grafului dat este: Nod | Lista de adiacenta 1 saflalal se} oe] c. Reprezentare prin referinte descendente Legatura de tip tata — se utilizeaza un vector t cu n componente, definit astfel: t [i]=eticheta parintelui nodului i Exemplu Fie arborele cu radacina din figura alaturata. n=7 - numéarul de varfuri m=6€ - numarul de muchii 4 Legatura de tip tata (vectorul de tati): *{ of 2] 2] 3] 2] 2]2 c. Reprezentare prin referinte descendente Legatura de tip tata — se utilizeaza un vector t cu n componente, definit astfel: t [i]=eticheta parintelui nodului i Exemplu Fie arborele cu radacina din figura alaturata. - numéarul de varfuri - numarul de muchii Legatura de tip tata (vectorul de tati): *{ of 2] 2] 3] 2] 2]2 TST eT d. Reprezentare prin referinte ascendente Legatura de tip parinte nod terminal —se utilizeaza doi vectori cu n-1 componente, definiti astfel: t [i] = nodul terminal cu valoarea cea mai mica pt[iJ= parintele nodului terminal t [i] Construirea vectorilor: Pasul 1: Pentru fiecare indice i de la 1 la n-1 executa: Pasul 2: se cauté nodul terminal cu eticheta cea mai mica Pasul 3: se atribuie aceasta eticheta lui t [i] Pasul 4: se atribuie lui pt [i] eticheta nodului parinte al nodului terminal + [i] Pasul 5: se elimina din arbore nodul terminal t [i] L Exemplu Fie arborele cu radacina din figura ° oN alaturata. n=7 - numarul de noduri 2 Z| m=6 - numé&rul de muchii 500, No. “| Legatura de tip parinte nod terminal. ,0 e | 4] a] 5} 6] 2] 2 pt | 3 2} 2} a] 7 a Definitie Se numeste arbore binar, un arbore cu proprietatea ca fiecare nod, cu exceptia nodurilor terminale, are cel mult doi descendenti directi + Intr-un arbore binar, cei doi succesori ai unui nod (daca exist), se numesc succesorul stng sau subarborele stang respectiv succesorul drept sau subarborele drept; + numarul de niveluri, mai putin cel al radacinii, ocupate de nodurile arborelului, se numeste adéncimea arborelului binar (lungimea celui mai lung lant care porneste din réd&cina); a. Reprezentare prin referinte descendente Legatura de tip tata — se utilizeaz& un vector t cu n componente, definit astfel: t[ij=eticheta pdrintelui nodului i Exemplu Fie arborele cu radacina din figura alaturaté. n=7 - numarul de noduri m=6 - numarul de muchii . Leg&tura de tip tata (vectorul de tati): t b. Reprezentare prin vectori pentru succesor stang $i succesor drept Se utilizeaza doi vectori cu n componente fiecare, definiti astfel: (j, dacté j este succesor sténg al nodului i nodul i sfli]=4 , mare succesor stan, lo, daca g ‘a [j, dacé j este suecesor drept al nodului i nodul i dr[i] = lo, dacé nu are succesor drept Exemplu Fie arborele cu radacina din figura 7 alaturaté. n=7 - numarul de noduri m=6 - numérul de muchii Vectorii pentru succesorul stang, respectiv drept: st arto 7] 4} o} 6] 0] 0] o a. parcurgerea in preordine - RSD * se prelucreaza radacina, subarborele stand, subarborele drept; Exemplu: Fie arborele cu radacina din figura alaturata. n=7 - numérul de noduri m=6 - numéarul de muchii RSD: 1, 2, 3, 5, 4, 6, 7 b, parcurgerea in inordine —- SRD * se prelucreaza subarborele stang, radacina, subarborele drept; Exemplu: Fie arborele cu radacina din figura alaturata n=7 - numérul de noduri m=6 - numéarul de muchii SRD: 5, 3, 2, 4, 6, 1,7 c. parcurgerea in postordine — SDR * se prelucreaza subarborele standg, radacina, subarborele drept; Exemplu: Fie arborele cu radacina din figura alaturata. n=7 - numarul de noduri m=6 - numéarul de muchii SDR: 5, 3, 6, 4, 2, 7,1 d. Reprezentare prin referinte ascendente Legatura de tip parinte nod terminal —se utilizeaza doi vectori cu n-1 componente, definiti astfel: t [i] = nodul terminal cu valoarea cea mai mica ptli]=_ parintele nodului terminal + [i] Construirea vectorilor: Pasul 1: Pentru fiecare indice i de la 1 la n-1 executa: Pasul 2: se cauta nodul terminal cu eticheta cea mai mica Pasul 3: se atribuie aceasta eticheta lui t [i] Pasul 4: se atribuie lui pt [i] eticheta nodului parinte al nodului terminal t[il Pasul 5: se elimina din arbore nodul terminal t [i] Exemplu Fie arborele cu radacina din figura ° oN aléturaté. n=7 - numérul de noduri 7] 7 m=6 - numarul de muchii ,00, o. T Legatura de tip parinte nod terminal: ,0 et] 4] 3] 5] 6} 2] 4 pe} 3] 2] 2| 2] 1] 7 a. arbore binar complet Definitie Un arbore binar cu proprietatea ca toate nodurile terminale sunt pe acelasi nivel, se numeste arbore binar complet. * un arbore binar complet are un numar impar de noduri; Exemplu Fie arborele cu radacina din figura alaturaté. n=7 - numarul_de noduri m=6 - numarul de muchii Reprezentarea secventiala a arborelului binar complet Se numeroteaza nodurile unui arbore binar complet incepand cu 1 de la radacina si se continua pe niveluri, de la stnga la dreapta. Tinand cont de aceasta numerotare, se observa ca intre nodurile arborelui exista urmatoarele relatii implicite: x tata(x)= {2 ,daci x>1 nu existé daci x=1 fin sting(x)= { 2x, daci 2x n fiu drept(x)= {2x +1, daci 2x+1 n Datorita existentei acestor relatii, pentru a reprezenta un arbore binar complet este suficient ‘sa se retina intr-un vector informatiile asociate nodurilor. Aceasta reprezentare, denumita secventiald, este optima din punct de vedere al complexitatii spatiu b. arbore binar de cautare Definitie Se numeste arbore binar de cautare un arbore binar care are proprietatea ca, pentru fiecare nod, cheia din succesorul stang este mai mic& decat cheia din nod, iar cheia din succesorul drept este mai mare decat cheia din nod. * se numeste cheia unui nod campul de informatie utilté a nodului care poate fi folosit pentru a identifica in mod unic nodurile arborelui; + Intr-un arbore binar de cdutare nu existé doua noduri cu aceeasi valoare a cheii; Exemplu: Fie arborele cu radacina din figura alaturata. n=7 - numarul de noduri m=6 - numarul de muchii b _—_ of \o0/ 2 Ors c. Heap-uri Definitie Se numeste Heap sau ansamblu Heap un arbore binar care indeplineste urmatoarele conditii: 1. este un arbore aporape complet; 2. in orice pereche de noduri tata-fiu cheile sunt intr-o relatie de ordine prestabilita. ansamblul Heap se numeste gi arbore de selectie sau arbore partial ordonat; un ansamblu Heap maxim este un ansamblu Heap tn care cheia parintelui este mai mare sau egala cu cheia fiului; un ansamblu Heap maxim este un ansamblu Heap in care cheia parintelui este mai mica sau egal cu cheia fiului; Intr-un ansamblu Heap pot exista chei cu aceeasi valoare; Exemplu Fie arborele cu radacina din figura alaturata n=7 - numarul de noduti xv m=6 - numarul de muchii Reprezentarea secventiala a ansamblului Heap: + varfurile sunt numerotate in ordinea nivelelor iar, pe fiecare nivel numerotarea se face de la stnga la dreapta * informatie relative la arbore se deduc in urmeétoarele moduri {1/2}, dacé 122 tatafé] = + lau existd, dacd i= 1 [7*2, dact i* sild=1 lau evista, dacé i*2> lit 241, daca i* 241 awd=s (me existd, dacé i*2>n Exemplu Fie arborele cu radacina din figura alaturataé. n=7 - numarul de noduri m=6 - numéarul de muchii 1 1 &X ° sO, 50 7S 7. Arbore partial Definitie Se numeste arbore partial al unui graf G un graf partial al unui graf G care este arbore. Teorema Un graf G contine un arbore partial daca si numai daca este un graf conex Exemplu Fie graful G= (x, 0) n=7 —numarul de noduri m=11 —numarul de muchii 8. Arbore pai Definitie Se numeste graf partial de cost minim al unui graf G conex, cu functia de cost o, un graf partial conex H care are costul minim. I. de cost Teorema Graful partial de cost minim al unui graf conex G, cu functia de cost c, este un arbore. Definitie Aiborele care este un graf partial de cost minim al grafului conex G, cu functja de cost c, se numeste arbore partial de cost minim. Observatie: costul grafului este dat de suma costurilor. Exemplu ; : : > Fie graful 6=(x, 0) n=7 —numarul de noduri m=11 —numarul de muchii 2 +, 5

You might also like