curs9

Upload: elly

Post on 05-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

m

TRANSCRIPT

Seminar 2

Cursul 9. Structuri de date arborescente

Arborii sunt SD des folosite n manipularea datelor. Se pot defini ca grafe particulare fr cicluri care au cteva noduri speciale:

un nod RADACIN, care nu are predecesor;

noduri interne arborelui, care au att predecesor ct i succesori (unul sau mai muli);

noduri frunz care nu au succesori;

Exemple:1)arbore ternar complet:

2) arbore oarecare: Se pot eticheta att nodurile ca n exemplul 2) ct i muchiile (sau arcele).1. Traversarea arborilor.

Exist 2 modaliti fundamentale de traversare (parcurgere) a arborilor:

n lime (breadth first);

n adncime (depth first).Traversarea n lime corespunde unei parcurgeri pe nivele: se viziteaz rdcina arborelui i apoi succesorii si de pe nivelul 1 (de adncime 1) apoi succesorii nodurilor de pe nivelul 2, s.a.m.d.

Traversarea n adncime corespunde unui drum n adncime de la rdcina la o frunz apoi revenirea la un nivel imediat superior si parcurgerea unui drum pn la alt frunz, s.a.m.d.

Exemplu:

typedef struct

{ int dim;

int m[Max][Max];

} MAT;void latime(MAT a, int incep)

{ int coada[n.dim],vizit[n.dim];

int prim,ultim,lin,i,j,n;

n=a.dim;

for(i=1;i