Você está na página 1de 8

1

rvores
Representao grfica As trs formas de representao grfica so: Representao por parnteses aninhados: ( A (B) ( C (D (G) (H) ) (E) (F ( ) ) ) ) Diagrama de incluso: A

E F

B D H G

Representao hierrquica: A

Motivao Di!ersas ap"ica#es necessitam de estr$t$ras mais comp"e%as &$e as "istas est$dadas at' agora( n)meros pro*"emas podem ser mode"ados atra!'s de r!ores(

+ Definio ,ma r!ore - ' $m con.$nto de e"ementos denominados n/s o$ !'rtices tais &$e: - 0 12 a r!ore ' dita !a3ia4 e%iste $m n/ especia" r2 c5amado rai de !4 os restantes constit$em $m )nico con.$nto !a3io o$ so di!ididos em m (de!e ser maior o$ ig$a" a 1) con.$ntos distintos no !a3ios &$e so as su"rvores de r2 cada s$*r!ore a &$a" '2 por s$a !e32 $ma r!ore( #otao: !v2 se v ' $m n/ de ! ento a notao !v indica a su"rvore de ! com rai3 em v( $u"rvore 6e.a a r!ore do e%emp"o anterior ! 0 7A2 B2 (((8 A r!ore ! poss$i d$as s$*r!ores: !" e !c onde !" 0 7B8 e !c 0 7C2 D2 (((8 A s$*r!ore !c poss$i 9 s$*r!ores: !d2 !f e !e onde !d 0 7D2 G2 H8 !f 0 7F2 8 !e 0 7E8 As s$*r!ores !"2 !e2 !g2 !h e !i poss$em apenas o n/ rai3 e nen5$ma s$*r!ore( E%emp"o da e%presso aritm'tica: (a : (* ; (c < d) = e)) :

>

; * c <

9 %rau de sa&da' descendente e ancestral ? n(mero de filhos de $m n/ ' c5amado grau de sa&da desse n/( 6e ) pertence @ s$*r!ore !v2 ento2 ) ' descendente de v e v ' ancestral2 o$ antecessor2 de )( 6e neste caso ) ' diferente de v ento ) ' descendente pr/prio de v e v ' ancestra" pr/prio de )( #* folha e n* interior ,m n/ &$e no poss$i descendentes pr/prios ' c5amado de n/ fo"5a2 o$ se.a2 n/ fo"5a ' a&$e"e com gra$ de saAda n$"o( ,m n/ &$e no ' fo"5a (isto '2 poss$i gra$ de saAda diferente de 3ero) ' c5amado n/ interior o$ n/ interno( #&vel (ou profundidade) e altura de um n* ? nA!e" o$ prof$ndidade2 de $m n/ ' o n)mero de n/s do camin5o da rai3 at' o n/( ? nA!e" da rai3 '2 portanto2 +( A a"t$ra de $m n/ v ' o n)mero de n/s no maior camin5o de v at' $m de se$s descendentes( As fo"5as tm a"t$ra +( rvore ,heia ,ma r!ore c5eia poss$i o m%imo de n/s s$cessores2 isto '2 todos os n/s tem n)mero m%imo de fi"5os e%ceto as fo"5as2 e todas as fo"5as esto na mesma a"t$ra( Br!ore c5eia de gra$ +: imp"ementao se&Cencia"( 1 + F G H 9 E

-)emplo com .rra/ (vetor) ArraD com E posi#es:


1 2 3 4 5 6 7

Arma3enamento por nA!e": posio do n* 1 + 9 i posio dos filhos do n* +2 9 F2 G H2 E (+i2 +i : 1)

rvores 0inrias
,ma Br!ore Binria - ' $m con.$nto finito de e"ementos denominados n/s o$ !'rtices2 ta" &$e: - 0 12 a r!ore ' dita !a3ia4 E%iste $m n/ especia" r2 c5amado rai3 de !2 os restantes podem ser di!ididos em dois s$*con.$ntos dis.$ntos2 !re e !rd2 &$e so as s$*r!ores es&$erda e direita de r2 respecti!amente e as &$ais2 por s$a !e32 tam*'m so r!ores *inrias(

Definio da -strutura de Dados


Type tree=^no no=record info:TpElemento; esq,dir:tree; end;

1pera2es associadas ao !.D rvore "inria padro: nicia"i3ar $ma r!ore *inria4 Criar $m n/ Ierificar se a r!ore est !a3ia o$ no4 Criar $m fi"5o @ direita de $m dado n/4 Criar $m fi"5o @ es&$erda de $m dado n/4 Ierificar &$a" o nA!e" (o$ prof$ndidade) de $m dado n/4 Jetornar o pai de $m dado n/4

3ercurso em rvores 0inrias


H trs maneiras rec$rsi!as de se percorrer r!ores *inrias:

!ravessia em 3r451rdem
1( +( 9( F( se r!ore !a3ia4 fim e%i*ir o campo info do n/ percorrer em pr'>ordem a s$*r!ore es&$erda percorrer em pr'>ordem a s$*r!ore direita

Resultado do 3r451rdem: ABDCEGFH !isita o n/ (e%i*e o info) &$ando passar a s$a es&$erda

!ravessia em 6n51rdem
1( +( 9( F( se r!ore !a3ia4 fim percorrer em in>ordem a s$*r!ore es&$erda e%i*ir o campo info do n/ percorrer em in>ordem a s$*r!ore direita

Resultado do 6n51rdem: DBAEGCHF !isita o n/ (e%i*e o info) &$ando passar em*ai%o do n/

!ravessia em 3*s51rdem
1( se r!ore !a3ia2 fim +( percorrer em K/s>?rdem a s$*r!ore es&$erda 9( percorrer em K/s>?rdem a s$*r!ore direita

Resultado do 3*s51rdem: DBGEH FCA !isita o n/ (e%i*e o info) &$ando passar a s$a direita

.lgoritmos a serem implementados: 1) ,ti"i3ar os a"goritmos de tra!essia para fa3er $ma *$sca na Br!ore ("oca"i3ar $m determinado elemento passado por parMmetro2 retornando: ac5o$ true o$ false2 e se ac5o$2 retornar o nodo &$e se encontra o e"emento)( +) -ornar $ma r!ore Ia3ia (dispose em todos os nodos da r!ore)(

Você também pode gostar