Sunteți pe pagina 1din 1

IMPLEMENTAREA ARBORELUI CU -functia operand rad-determina radacina r

RADACINA a arborelui
Se face prin: -fct. procedurala init-initializeaza coada de
-matrice de adiacenta asteptare cu radacina
-referinte descendente-legatura de tip tata -fct. operand este_vida-testeaza coada de
-referinte ascendente-legatura de tip asteptare daca este vida
parinte nod terminal -fct. Procedurala adauga-adauga un nod la
Primele doua implementari sunt ineficiente coada de asteptare
in cazul arborelui cu radacina. -fct. procedurala elimina-elimina npdul
Sunt specifice implementarile cu legatura prelucrat din coada de asteptare
de tip tata si respectiv legatura de tip -fct. procedurala elimina-prelucreaza primul
parinte nod terminal. nod din coada: adauga la coada de
a)Implementarea prin referinte asteptare toti fiii acestui nod si apoi il
descendente-legatura de tip tata elimina din coada de asteptare
-arborele este reprezentat sub forma unui -fct. procedurala afisare-afiseaza nodurile
vector t cu n componente in care se arborelui in ordinea prelucrarii
memoreaza, pentru fiecare nod, eticheta b)Algoritmul de parcurgere in adancime
parintelui sau. -metoda: pornind de la nodul radacina se
OBS: Din vectorul tata putem obtine prelucreaza fiii unui nod de la stanga la
urmatoarele informatii: dreapta, iar trecerea de la nodul curent la
-eticheta nodului radacina-indicele i pentru fratele din dreapta, se face numai dupa ce
care t[i]=0 au fost vizitati toti descendentii nodului
-etichetele nodurilor terminale-nodurile de curent, deci ai intregului subarbore
indice i a caror eticheta nu exista in vectorul dezvoltat din acesta. In functie de ordinea
t relativa de prelucrare a nodului radacina si,
-eticheta parintelui unui nod i este t[i] respectiv, a subarborilor, exista doi
-etichetele fiilor unui nod i-indicii j pentru algoritmi:
care t[j]=i 1. algoritmul de parcurgere in preordine-
-etichetele fratilor unui nod i-indicii j pentru informatia din nodul radacina este
care t[i]=t[j]. prelucrata inaintea informatiilor din celelalte
b)Implementarea prin referinte ascendente- noduri ale subarborilor
legatura de tip parinte nod terminal 2. algoritmul de parcurgere in postordine-
-arborele este reprezentat sub forma a doi informatia din nodul radacina este
vectori cu n-1 componente: vectorul t in prelucrata dupa ce au fost prelucrate
care sunt memorate nodurile in ordine, informatiile din toate celelalte noduri ale
pornind de la nodurile terminale, si vectorul subarborilor .
pt in care sunt memorate nodurile parinte Algoritmul de parcurgere in postordine
ale nodurilor terminale. -nodului radacina i se va atribui cea mai
-algoritmul de construire a celor doi vectori mare eticheta. Prelucrarea se face prin
este urmatorul: parcurgerea simultana a vectorilor t si pt si
-pentru fiecare indice de la 1 la n-1 se cautarea nodurilor care apartin aceluiasi
executa: subarbore. Evidenta nodurilor prelucrate
-se cauta nodul terminal cu eticheta cea este tinuta prin intermediul vectorului vizitat
mai mica -pentru realizarea programului se folosesc
-se atribuie aceasta eticheta pentru t[i] urmatoarele subprograme:
-se atribuie lui pt[i] eticheta nodului parinte -fct. procedurala citire-creeaza vectorii t si
al nodului terminal t[i] pt
-se elimina din arbore nodul terminal t[i] -functia operand terminat-verifica daca au
OBS: Vectorii t si pt sunt aceiasi pentru un fost prelucrate toate nodurile arborelui
arbore, indiferent de nodul radacina ales. -functia procedurala prelucrare-
prelucreaza nodurile unui subarbore,
ALGORITMI PENTRU PARCURGEREA pornind de la nodul terminal cu cea mai
UNUI ARBORE CU RADACINA mica eticheta
-parcurgerea unui arbore cu radacina se
poate face prin:
-algoritmul de parcurgere in latime
-algoritmul de parcurgere in adancime.
a)Algoritmul de parcurgere in latime
-metoda: se prelucreaza mai intai informatia
din nodul radacina, dupa care sunt
prelucrate, de la stanga la dreapta, nodurile
aflate pe primul nivel, apoi pe cel de-al
doilea, etc.
-programul care realizeaza algoritmul
foloseste urmatoarele subprograme
-functia procedurala citire-creeaza vectorul
t prin prelucrarea informatiilor de la
tastatura saudin fisier

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