CURSO DE LICENCIATURA EM INFORMTICA DISCIPLINA: Estrutura de dados ATIVIDADE 2 _________________________________________________________________ Todas as questes !a"e# 2 $o%tos 2& Dado u#a $'"(a de e"e#e%tos qua'squer) *o%strua u#a +u%,-o que troque o e"e#e%to que est. %o to$o $or u# o que "o*a"'/ado %a 0ase da $'"(a& 1& Su$o%(a a s'tua,-o e# que !o*2 est. dese%!o"!e%do u# s'ste#a e# que 3 %e*ess.r'o rea"'/ar o $ro*essa#e%to de u# *o%4u%to de dados dos usu.r'os do s'ste#a) se%do esse $ro*essa#e%to requ's'tado $e"o $r5$r'o usu.r'o& Ta's requ's',es $r'#e'ra#e%te s-o ar#a/e%ados e# u#a estrutura de dados) e de!e# ser $ro*essados qua%do a estrutura de dados est'!er *(e'a) ut'"'/a%do a orde# de *(e6ada) ou se4a) o $r'#e'ro a '%ser'r o *o%4u%to de dados %o s'ste#a 3 o $r'#e'ro a ser ate%d'do& Dado esse *e%.r'o) d'6a qua" o t'$o de estrutura de dados que de!e ser ut'"'/ada) 4ust'+'*a%do a sua res$osta& Por +'#) es*re!a u# a"6or't#o que a0orde esse *e%.r'o) o%de o *o%4u%to de dados do usu.r'o s-o e"e#e%tos 7ID) %o#e) e%dere,o) data de %as*'#e%to8 e o $ro*essa#e%to rea"'/ado 3 o *."*u"o da 'dade e a '#$ress-o de todos os dados do usu.r'o& Para os testes da '#$"e#e%ta,-o) es*re!a u# *5d'6o que '%s'ra *o%4u%to de dados do usu.r'o %a estrutura de dados e outro que "e'a a estrutura de dados e es*re!a o resu"tado %a te"a& O t'$o de dado a ser usado 3 u#a "'sta 9& Su$o%(a que !o*2 est. dese%!o"!e%do u# s'ste#a de re*e$,-o de #e%sa6e%s s'#'"ar ao e#a'"& Dessa +or#a) #e%sa6e%s s-o ad'*'o%adas seque%*'a"#e%te e# u#a estrutura de dados e $oster'or#e%te re*u$eradas& A re*u$era,-o de #e%sa6e%s 3 +e'ta de +or#a que o :"t'#o re6'stro de #e%sa6e# a ser '%ser'do %a estrutura de dados 7ou se4a) a #e%sa6e# #a's %o!a8 3 a $r'#e'ro a ser e;'0'do& Es$e*'+'que qua" a #e"(or estrutura de dados a ser ut'"'/ada) 4ust'+'*a%do a sua res$osta& Es*re!a ta#03# u# a"6or't#o que a0orde esse *e%.r'o) o%de o re6'stro da #e%sa6e# *o%t3# as '%+or#a,es de ID e #e%sa6e#& Para os testes da '#$"e#e%ta,-o) es*re!a u# *5d'6o que '%s'ra os re6'stros de #e%sa6e# %a estrutura de dados e outro que "e'a a estrutura de dados e es*re!a o resu"tado %a te"a& O #e"(or t'$o 3 u#a $'"(a& <& De+'%a o *o%*e'to de =r!ores>) '%+or#e as se#e"(a%,as e?ou d'+ere%,as e;'ste%tes e%tre =r!ores B'%.r'as> e =r!ores AVL>& E# se6u'da) #ostre u# e;e#$"o de *ada& RVORE BINRIA: U#a .r!ore 0'%.r'a 3 u#a estrutura de dados *ara*ter'/ada $or: Ou %-o te# e"e#e%to a"6u# 7.r!ore !a/'a8& Ou te# u# e"e#e%to d'st'%to) de%o#'%ado ra'/) *o# do's $o%te'ros $ara duas estruturas d'+ere%tes) de%o#'%adas su0@.r!ore esquerda e su0@.r!ore d're'ta& Per*e0a que a de+'%',-o 3 re*urs'!a e) de!'do a 'sso) #u'tas o$era,es so0re .r!ores 0'%.r'as ut'"'/a# re*urs-o& A o t'$o de .r!ore #a's ut'"'/ado %a *o#$uta,-o& A $r'%*'$a" ut'"'/a,-o de .r!ores 0'%.r'as s-o as .r!ores de 0us*a 0'%.r'a&
RVORE AVL 7ou .r!ore 0a"a%*eada $e"a a"tura8: e# C'2%*'a da Co#$uta,-o) 3 u#a .r!ore de 0us*a 0'%.r'a auto@0a"a%*eada& E# ta" .r!ore) as a"turas das duas su0@.r!ores a $art'r de *ada %5 d'+ere# %o #.;'#o e# u#a u%'dade& As o$era,es de 0us*a) '%ser,-o e re#o,-o de e"e#e%tos $ossue# *o#$"e;'dade O7 "o62 % 8 7%o qua" 3 o %:#ero de e"e#e%tos da .r!ore8& I%ser,es e re#o,es $ode# ta#03# requerer o re0a"a%*ea#e%to da .r!ore) e;'6'%do u#a ou #a's rota,es& E;e#$"o de ar!ore 0'%ar'a e;e#$"o de ar!ore AVL