Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




ARBORI BINARI

Informatica


ARBORI BINARI.

În acest capitol vom învata:



Ce sunt arborii binari

Cum se memoreaza ei

Cum se parcurg arborii binari

Cum se transforma un arbore oarecare 818c28i în arbore binar

Ce este un nomenclator

Un arbore în care orice vârf are zero, unul sau doi descendenti se numeste arbore binar. Un arbore binar care are numai vârfuri cu nici un descendent sau cu doi

descendenti se numeste arbore strict binar. (Un astfel de arbore de foloseste, de


exemplu, la reprezentarea în memorie a unei expresii aritmetice.)

Exemplu: expresia (a+b)*c - 2/c^3.5 unde (x^y înseamna ' x la puterea y') - se va reprezenta astfel :

fig. 6.1

Frunzele acestui arbore ( nodurile fara descendenti) contin operanzii, iar celelalte noduri contin operatiile. Deoarece nu toate operatiile sunt comutative este foarte important daca un nod este descendent pe stânga sau pe dreapta. Radacina unui arbore este nodul care nu este descendentul nici unui nod.

Alocarea unui arbore binar se poate face: secvential, înlantuit sau mixt.

Alocarea secventiala a unui arbore binar

În vectorul (x(I))I=l,n) vom avea urmatoarele reguli:

radacina este în x(1)

pentru fiecare nod x(I) descendentul din stânga este x(2*I) iar cel din dreapta este x(2 *I+1)

daca nu exista descendent se pune '*'.


Reprezentarea secventiala a arborelui din fig. 1 este :

Observatie : x(20), ... , x(27) sunt pozitii din vector neutilizate.Vom folosi aceasta alocare în capitolul destinat cozilor de prioritate pentru a construi o structura asemanatoare denumita HEAP.

Exemple de parcurgeri:

1- parcurgerea arborelui din fig.6.1 în preordine -,*,+,a,b,c,2,/,^,c,3.5

aceasta scriere se nmeste scriere poloneza prefixata pentru o expresie aritmetica.

2- parcurgerea arborelui din fig. 1 în inordine a,+,b,*,c,-,2,/,c,^,3.5

aceasta este scrierea obisnuita a expresiilor matematice (operatiile sunt scrise în ordinea efectuarii lor).

3- parcurgerea arborelui din fig. 1 în postordine a,b,+,c, *,2,c, ^,3.5,/,-

aceasta scriere se numeste scriere poloneza postfixata a unei expresii aritmetice.

PREORD_IT(RAD)

STIVA = F

P=RAD

Repeta
Repeta

Daca P ' * ' atunci

Scrie INFO(P); P=>STIVA

P=LS(P) Cicleaza

altfel

EXIT

Sdaca

sciclu

Daca STIVA = F atunci EXIT

Altfel

P<=STIVA ; P= LD(P)

Sdaca

Sciclu

Return

Algoritmul se poate modifica usor pentru INORDINE_IT, dar pentru POSTORDINE_IT este nevoie de doua stive.

Exercitiul 1.

Scrieti algoritmul pentru inordine iterativ.

Exercitiul 2.

Scrieti algoritmul pentru postordine iterativ.

Un exemplu des folosit este structura unui produs format din ansamble, subansamble si asa mai departe pâna la piese simple. Aceasta structura da nastere unui arbore oarecare cum ar fi cel din figura 6.2.


Fig.6.2


Exista o metoda de a construi un arbore asociat care, de aceasta data, este binar. Transformarea se face în felul urmator : pentru fiecare nod descendentul din dreapta este fratele urmator (elementul urmator aflat la acelas nivel de descompunere). Astfel arborele din fig.6.2 da nastere unui arbore binar ca cel din fig.6.3.

Fig 6.3.


Parcurgerea în preordine a acestui arbore binar asociat da aceeasi ordine a nodurilor ca si parcurgerea în adâncime a arborelui oarecare initial (fapt pentru care se spune câte odata ordine de parcurgere în preordine pentru arborele oarecare). Lista parcurgerii în preordine în acest caz concret este nomenclatorul de produse si este o lista reprezentativa care intra în reclama produsului. Ea arata în felul urmator:

Diagrama E-R conceptuala pentru nomenclatorul de produse arata în prima instanta asa:

Repere = (CodRep, Denum,. . .)

Stuctura = (CodRep,CodRep,Cant)

De exemplu, pentru arborele de mai sus, se obtin instantele:


Repere Structura Structura

Întrebari si exercitii la capitolul 6.

Exercitiile 1 si 2 sunt în text referitoare la parcurgerea arborilor binari în inordine si postordine nerecursiv.

Exercitiul 3.

Se da A,B,C,D,E,F,G,H parcurgerea în preordine a unui arbore binar si

B,A,E,D,C,F,H,G parcurgerea în inordine a aceluiasi arbore. Sa se deseneze arborele.

Exercitiul 4.

Sa se scrie algoritmul pentru exercitiul 3.


Document Info


Accesari: 7532
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )