handbook questoes algoritmos

31
Questões comentadas Algoritmos para  concursos Handbook de Ques tıes de TI Comentada s para Concursos V olume ques tıes de TI

Upload: daniel-arioza

Post on 24-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 1/31

Questões comentadas

Algoritmospara concursos

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Page 2: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 2/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

PrefÆcio

m algoritmo ! um con"unto de opera ıes em sequ#ncia para resol$erdeterminado problema%

A no &o de algoritmo ! e'tremamente importante para a computa &o% (&o e'isteum con"unto de regras que nos permita criar no$os algoritmos e) portanto) trata*se de umas maiores di culdades dos iniciantes em programa &o%

+ estudo de algoritmos ! muito cobrado nos concursos na Ærea de tecnologia dainforma &o e) por isso) o ,rupo Handbook de TI preparou este $olume) que tra-uma s!rie de questıes comentadas sobre Algoritmos para $oc# se prepararainda mel.or para os certames de seu interesse%

/ons estudos)

,rupo Handbook de TI

PÆgina 0 de 12333%.andbookdeti%com%br

Page 3: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 3/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

4ireitos Autorais

5ste material ! registrado no 5scrit rio de 4ireitos Autorais 654A7 da 8unda &o/iblioteca (acional% Todos os direitos autorais referentes a esta obra s&oreser$ados e'clusi$amente aos seus autores%

+s autores deste material n&o pro bem seu compartil.amento entre amigos ecolegas pr 'imos de estudo% Contudo) a reprodu &o) parcial ou integral) e adissemina &o deste material de forma indiscriminada atra$!s de qualquer meio)inclusi$e na Internet) e'trapolam os limites da colabora &o% 5ssa prÆticadesincenti$a o lan amento de no$os produtos e enfraquece a comunidadeconcurseira Handbook de TI%

A s!rie Handbook de Questıes de TI Comentadas para Concursos Al!m do,abarito ! uma produ &o independente e contamos com $oc# para mant#*lasempre $i$a%

PÆgina 1 de 12333%.andbookdeti%com%br

Page 4: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 4/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

,rupo Handbook de TI

PÆgina 9 de 12333%.andbookdeti%com%br

Page 5: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 5/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Canais de Comunica &o

+ ,rupo Handbook de TI disponibili-a di$ersos canais de comunica &o para osconcurseiros de TI%

:o"a Handbook de TI

Acesse a nossa lo"a $irtual em .ttp;<<333%.andbookdeti%com%br

=er$i o de Atendimento

Comunique*se diretamente conosco atra$!s do e*mailfaleconosco>.andbookdeti%com%br

 T3itter do Handbook de TI

PÆgina ? de 12333%.andbookdeti%com%br

Page 6: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 6/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Acompan.e de perto promo ıes e lan amentos de produtos pelo nosso T3itter.ttp;<<t3itter%com<.andbookdeti

PÆgina @ de 12333%.andbookdeti%com%br

Page 7: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 7/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;/anca;Institui &o;Cargo;Ano;

Quest&o;

0% Algoritmos) Comple'idade de Algoritmos)Cesgranrio

PetrobrasAnalista de =istemas Pleno * Processos

1B@1

A respeito de fun ıes e algoritmos) assinale a a rmati$a correta%

6a7% + limite inferior de um algoritmo 67 ! utili-ado para a anÆlise dopior caso de sua e'ecu &o%

6b7% ma fun &o f 6n7 domina assintoticamente g6n7) se e'istem duasconstantes positi$as c e n) tais que) para n D n) temos que Eg6n7E DcEf 6n7E%

6c7% A fun &o f 6@log1N7 ! O16N7%

6d7% A fun &o f 6@N9F1N17 ! O6N7%

6e7% =e duas fun ıes f 67 e g67 t#m limite superior "usto) ent&o f 67 ! O6g677e g67 ! O6f 677%

=olu &o;ma a$alia &o anal tica pode ser feita com o ob"eti$o de se obter umaestimati$a de esfor o de um algoritmo em termos do taman.o do problema%

 Tal estimati$a resulta em uma fun &o do crescimento do tempo de e'ecu &ode um algoritmo em rela &o ao taman.o da entrada% 5m geral) o trabal.o queum algoritmo precisa fa-er para resol$er um problema cresce de acordo como nGmero de itens de entrada% Para determinar a comple'idade de umalgoritmo) conta*se o nGmero de opera ıes que ele fa- para cada item) ondecada opera &o pode ser leituras de disco) compara ıes) trocas etc% 5mseguida) ! determinada uma e'press&o que representa essa quantidade%

+ que se considera no estudo de comple'idade de algoritmos ! o seucomportamento assint tico) ou se"a) uma tend#ncia a um limite medida docrescimento do taman.o do problema% Vamos elucidar as nota ıesgeralmente utili-adas para esse tipo de a$alia &o anal tica%

4i-*se que uma fun &o g6n7 ! O6f 6n77) notando*se g O6f 6n77 se e'istir algumaconstante c > e um inteiro n) tal que n > n implica g6n7 c ' f 6n7% 4i-*setamb!m que g6n7 tem ta'a de crescimento proporcional a f 6n7) ! de ordemmÆ'ima f 6n7) de comple'idade f 6n7 ou magnitude f 6n7) simplesmente que !+ de f 6n7% A anÆlise + ! con.ecida tamb!m como a anÆlise do pior caso%

PÆgina B de 12333%.andbookdeti%com%br

Page 8: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 8/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

4adas fun ıes assintoticamente n&o*negati$as g e f ) di-emos que g estÆ naordem de f ) e escre$emos g 6f 6n77) se e'istir alguma constante c > eum inteiro n tal que n > n implica g6n7 D c ' f 6n7% fÆcil notar que f O6g7 see somente se g 6f 7% A anÆlise mega ! con.ecida como a anÆlise domel.or caso e ! pouco utili-ada%

As nota ıes utili-adas em minGsculo atra$!s dos s mbolos o 6o minGsculo7 eω s&o utili-adas para representar limites assint ticos n&o "ustos) as de ni ıesanteriores mudam de algum c J para todo todo c J %

 KÆ que foi dada um e'plica &o bÆsica em rela &ocomple'idade de algoritmose suas nota ıes) $amos analisar as alternati$as de uma a uma%

A alternati$a 6A7 estÆ claramente errada) "Æ que a nota &o ! utili-ada paradenotar a anÆlise do mel.or caso e n&o do pior caso%

 Tamb!m estÆ equi$ocada a alternati$a 6/7) $isto que quando di-emos que f 6n7domina assintoticamente g6n7 di-emos tamb!m que g6n7 O6f 6n77 e a de ni &oestÆ ligeiramente errada $isto que o correto) neste caso) ! Eg6n7E c ' Ef 6n7E%

A nota &o O1 n&o fa- sentido em comple'idade de algoritmos) logo) a alternati$a6C7 pode ser in$alidada%

+ termo dominante em uma fun &o polinomial pode ser utili-ado paradeterminar a anÆlise de pior caso de um algoritmo% (a fun &o f 6@N9F1N17)podemos di-er que ! O6N97 tamb!m sendo aceito que f ! O6@N97) por e'emplo)mas) com certe-a) f n&o ! O6N7) $isto que ( n&o ! o termo dominante do polin

mio% Portanto) a alternati$a 647 estÆ errada%

A alternati$a 657 estÆ correta) pois a nota &o + maiGsculo representa o limitesuperior "usto das fun ıes% 5 se as fun ıes f e g tem o limite superior "usto entreelas de maneira equi$alente) podemos di-er que f 67 ! O6g677 e g67 ! O6f 677

PÆgina 2 de 12333%.andbookdeti%com%br

Page 9: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 9/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;/anca;Institui &o;Cargo;Ano;

Quest&o;

1% Algoritmos) Comple'idade de Algoritmos)Cesgranrio

PetrobrasAnalista de =istemas Pleno * Processos

1B@B

Considere os algoritmos a seguir e as suas correspondentes comple'idadesindicadas% 5st&o corretas apenas as comple'idades indicadas para osalgoritmos;

I /usca seq encial de um elemento em um $etor de taman.o ( O6N7

II /usca) $ia pesquisa binÆria) de um elemento) em um $etor de taman.o (O6log1N7

III /usca de um r tulo de um n em uma Ær$ore binÆria completa) com ( n s

O6log1N7 IV /usca de um r tulo de um n em uma Ær$ore binÆria de busca)

com ( n s O6N7

V Inclus&o de um elemento em um $etor ordenado de taman.o ()mantendo*se a ordena &o O607

6a7% I) II e III%

6b7% I) II e IV%

6c7% II) III e V%

6d7% II) III) IV e V%

6e7% I) III) IV e V%

=olu &o;

A comple'idade algor tmica ! uma medida que e'pressa a e ci#ncia de umalgoritmo em termos da quantidade de opera ıes rele$antes reali-adas peloalgoritmo at! que ele alcance o seu resultado nal% 5'emplos de opera ıes quepodem ser consideradas rele$antes para um algoritmo s&o as opera ıes decompara &o) opera ıes aritm!ticas) opera ıes de mo$imenta &o de dados etc%

A comple'idade algor tmica ! ent&o e'pressa em fun &o do taman.o doproblema% 5m um problema que en$ol$a a ordena &o de um $etor) pore'emplo) o taman.o do problema seria o taman.o do $etor% 5m um problemaque en$ol$a a busca por um elemento em uma Ær$ore binÆria) o taman.odo problema seria a quantidade de elementos contidos na Ær$ore% comumque se utili-e a letra ( para e'pressar o taman.o de um determinadoproblema%

PÆgina L de 12333%.andbookdeti%com%br

Page 10: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 10/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

/oa parte das $e-es) na a$alia &o da comple'idade de um algoritmo)interessa ao a$aliador descobrir qual serÆ a comple'idade do algoritmoquando for submetido a uma entrada de dados que o fa a operar em seu piorcaso) ou se"a) que o fa a e'ecutar o maior nGmero de opera ıes at! que sealcance o resultado nal% (o estudo da comple'idade algor tmica) tal $alor !

denotado pela nota &o O% =e um algoritmo) no seu pior caso) precisa e'ecutar( opera ıes) di-*se que sua comple'idade ! O6N7% KÆ se) em seu pior caso)ele e'ecuta um nGmero de opera ıes constate) di- que ele possuicomple'idade O607%

Agora) $amos analisar cada uma das correspond#nciasalgoritmo<comple'idade e $eri car quais delas est&o corretas%

6I7 C+MM5TA

ma busca sequencial ! aquela em que o $etor ! percorrido a partir de uma

e'tremidade no sentido da outra at! que o elemento procurado se"aencontrado% Imaginando o caso em que o elemento procurado se"a o Gltimoelemento a ser a$aliado em um $etor de taman.o () para que se encontre talelemento o algoritmo precisarÆ e'ecutar ( opera ıes de compara &o%Com isso) o pior caso de tal algoritmo ! O6N7%

6II7 C+MM5TA

+ processo de busca binÆria inicia*se com a escol.a de um elemento c.amadopi$ot) locali-ado no centro do $etor% Caso o elemento procurado se"a menor queo pi$ot) somente o sub $etor da esquerda serÆ pesquisado% Caso contrÆrio)

somente o sub $etor da direita serÆ pesquisado% 5 assim) a cada etapa) oescopo da busca ! di$ido pela metade% (o limite) o nGmero mÆ'imo dedi$isıes que poder&o acontecer at! que o elemento procurado se"a eleito comopi$ot ! o $alor do logaritmo de ( na base 1% Portanto) o pior caso da buscabinÆria ! O6log1N7% 6III7 5MMA4A

5m processo de busca por um elemento em uma Ær$ore binÆria) aparticionamento do escopo de busca ! determinado pelo fato de o elementoprocurado ser maior ou menor que o n corrente da Ær$ore% Caso o elementose"a maior) a busca prossegue e'plorando apenas o ramo direita do n % CasocontrÆrio) o processo prossegue e'plorando o ramo esquerda% Aparentemente)o processo ! bem semel.ante ao processo de pesquisa binÆria% (o entanto)pode acontecer de e'istir Ær$ore binÆrias mal balanceadas) podendo c.egar aoe'tremo de a Ær$ore possuir uma Gnica rami ca &o para um Gnico lado%

(essa situa &o) como a na$ega &o na Ær$ore se dÆ necessariamente apenasentre n s conectados) pode acontecer de o processo de busca ter que percorrertodo a rami ca &o) desde a rai- at! a fol.a) passando por todos os n s internos%5sse seria) portanto) o pior caso da busca em uma Ær$ore binÆria) no qualseriam necessÆrias ( opera ıes de compara &o%Portanto) a comple'idade de tal algoritmo no pior caso ! O6N7%

6IV7 C+MM5TA

PÆgina N de 12333%.andbookdeti%com%br

Page 11: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 11/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;/anca;Institui &o;Cargo;Ano;

Quest&o;

(esta a rmati$a) a situa &o ! e'atamente a ilustrada no item anterior) onde foimostrado que a comple'idade da busca em uma Ær$ore binÆria no pior caso !O6N7%

6V7 5MMA4A

+ processo de inclus&o de um elemento em um $etor ordenado de taman.o ( "amais poderia possuir comple'idade O607) ou se"a) ser reali-ado com umnGmero constante de opera ıes% Isso se de$e ao simples fato de que) para

determinar em que posi &o o elemento de$erÆ ser inserido para que semanten.a a ordena &o) serÆ necessÆrio antes reali-ar um processo de buscaque) se implementado da forma mais e ciente poss $el 6no caso) atra$!s deuma busca binÆria7) teria comple'idade O6log1N7%

Portanto) como apenas as a rmati$as I) II e IV est&o corretas) a resposta daquest&o ! a alternati$a /%

9% O!todos de /usca) Pesquisa /inÆria) r$ore /)C5=,MA(MI+

/(45=

Analista de =uporte1L@

+s dados de uma agenda contendo nome) telefone e endere o de pessoasest&o organi-ados em um arqui$o de dados com acesso somente de leitura%m dispositi$o eletromec nico 4) que possibilita acesso direto) cont!m)apro'imadamente) N mil.ıes de registros ordenados por nome% Assumindoque o taman.o do campo endere o ! $ariÆ$el e que 4 pode ter arqui$os6pr!*e'istentes7 de ndices que se referenciam ao arqui$o de dados) esupondo que n&o possui cac.e) qual ! a estrat!gia que reali-arÆ) em m!dia)menos opera ıes de I<+ para consultar todos os registros cu"o nome come a

por uma determinada letra6a7% Pesquisa binÆria diretamente sobre o arqui$o de dados) uma $e-

que "Æ e'iste ordena &o por nome%

6b7% Pesquisa sobre o arqui$o de ndices inde'ados pelo nome)implementando um algoritmo de busca em uma Ær$ore /*Treebalanceada%

6c7% Pesquisa seq encial sobre um arqui$o de ndices inde'ado pelas letrasdo alfabeto e posterior leitura sequencial sobre o arqui$o de dados)nos quais cada ndice aponta para o endere o do in cio da respecti$aletra na agenda%

PÆgina 0 de 12333%.andbookdeti%com%br

Page 12: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 12/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

6d7% Pesquisa binÆria sobre um arqui$o de ndices inde'ado pelo nome)para posterior acesso ao arqui$o de dados%

6e7% :eitura seq encial diretamente sobre o arqui$o de dados) sem autili-a &o de arqui$os au'iliares de ndice%

=olu &o;

6A7 5MMA4A

Para que fosse poss $el pesquisa binÆria diretamente sobre arqui$o dedados) como seus registros tem taman.os $ariÆ$eis) seria necessÆrio incluirinforma ıes que ser$iriam de ponteiros em cada registro% + que n&o ! poss$el) "Æ que o arqui$o de dados permite apenas leitura% Portanto) a alternati$aA n&o ! poss $el%

6/7 5MMA4A

4e maneira geral) a abordagem por /*Tree ! uma boa op &o% 5ntretanto) !importante obser$ar que para recuperar cada registro ! necessÆria umaconsulta /*Tree e posteriormente ao arqui$o de dados% Tal implementa &outili-aria um nGmero de opera ıes da ordem 6n<1B7<Rlog6n7) onde n ! onGmero total de registros% Analisaremos as outras op ıes adiante% (ote que aop &o nem e'plicitou como seria o acesso ao arqui$o de dados%

6C7 C+MM5TA

5ssa ! uma op &o bem e ciente para o caso) "Æ que serÆ necessÆrio apenasencontrar a letra do alfabeto correspondente 6mesmo que de maneirasequencial7 no arqui$o de ndices e depois percorrer sequencialmente oarqui$o de dados% A ordem neste caso ! 09Fn<1B% +u se"a) mais rÆpido queo caso descrito na alternati$a /%

647 5MMA4A

+ caso e o custo s&o muito parecidos com aqueles e'plicitados na alternati$a /e) como consequ#ncia) o seu resultado n&o supera o desempen.o descrito naalternati$a C%

657 5MMA4A

(este caso) a ordem seria percorrer o arqui$o de dados at! encontrar oprimeiro registro cu"o nome come a com a letra especi cada e depois percorrertodos os elementos que atendam a condi &o% + custo seria da ordem n<1Fn<1B%

Conclu mos que a alternati$a mais e ciente ! a alternati$a C%

PÆgina 00 de 12333%.andbookdeti%com%br

Page 13: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 13/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;/anca;Institui &o;Cargo;Ano;

Quest&o;

?% /usca /inÆria) /usca =equencial)8CC

OPAnalista de 4esen$ol$imento de =istemas

129B

Considere;

I% +s algoritmos de busca binÆria e de busca seq encial e'ecutam

processamento repetiti$o%II% +s algoritmos de busca binÆria e de busca seq encial utili-am a t!cnica de

recurs&o%

III% A busca seq encial e'ecuta cada fase da repeti &o na forma de uma subtarefada fase anterior%

IV% A busca binÆria trabal.a com uma forma circular de repeti &o%

5stÆ correto o que consta

em 6a7% I) apenas%

6b7% II) apenas%

6c7% I e II) apenas%6d7% I) III e IV) apenas%

6e7% I) II) III e IV%

=olu &o;

+s algoritmos de busca binÆria e de busca sequencial s&o t!cnicas paralocali-ar um $alor em particular em uma lista% A pesquisa ou busca binÆria6em ingl#s binarS searc. ou binarS c.op7 ! um algoritmo de busca que partedo pressuposto de que os elementos da lista "Æ est&o ordenados% + algoritmode busca binÆria ! um e'emplo clÆssico de di$idir*e*conquistar e sua ideia

principal consiste em analisar o elemento do meio da lista para inferir se oelemento que estÆ sendo procurado estÆ depois ou antes desse elemento e)assim sucessi$amente) di$idir o espa o de busca por dois%

 KÆ o algoritmo de busca sequencial) ou busca linear como tamb!m !con.ecido) percorre a lista) elemento por elemento) $eri cando se o elementodese"ado estÆ presente% (ote que n&o ! preciso no algoritmo de buscasequencial que a lista este"a ordenada%

Ambos algoritmos necessitam de e'plorar o processamento repetiti$o) queem linguagem de programa &o pode ser implementado tanto em la os de

itera &o 6for) loop) 3.ile etc7 tanto como de maneira recursi$a%

PÆgina 01 de 12333%.andbookdeti%com%br

Page 14: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 14/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Vamos analisar as alternati$as de I a IV para c.egarmos na resposta%

6I7 5stÆ correta) pois ambos algoritmos e'ecutam o processamento repetiti$o% +termo processamento repetiti$o ! usualmente utili-ado para denotar o usorepetiti$o das operaıes de computador) o que ! o nosso caso) "Æ que esses

algoritmos utili-ar&o repetiti$amente opera ıes de compara &o entre dois$alores%

6II7 5stÆ errada) pois) mesmo que ambos algoritmos possam ser implementadosde formarecursi$a) ambos tamb!m podem ser implementados com o uso dela os iterati$os% :ogo) a t!cnica de recurs&o n&o ! necessÆria e as ideiasdesses algoritmos n&o se baseiam na maneira de como eles ser&oimplementados e) sim) de que maneira os dados da lista ser&o tratados% Aalternati$a se tornaria correta se utili-assem o predicado podem utili-ar at!cnica de recurs&o%

6III7 5stÆ errada) o algoritmo que utili-a a ideia de di$idir em subtarefas ! oalgoritmode busca binÆria e n&o o de busca sequencial%

6IV7 5rrada) pois a t!cnica de busca binÆria utili-a a ideia do di$idir*e*conquistar) quen&o tem rela &o com repeti &o circular%

Como somente 6I7 estÆ correta) a letra 6A7 ! a letra ser marcada nesta quest&o%

@% 5struturas de 4ados) r$ores /inÆrias) r$ore /inÆria de /usca)

/anca; Cesgranrio

Institui &o; PetrobrasCargo; Analista de =istemas Pleno * ProcessosAno; 1BQuest&o; @

Insira as c.a$es :ina) Ana) :ia) Ada) :ua) =ol) Cris) /ia) Mita) Oel) Mosa) Val emuma Ær$ore binÆria de busca 6considere que a Ær$ore estÆ inicialmente$a-ia7% Considere agora) a e'ecu &o dos seguintes percursos sobre a estruturaap s a inser &o das c.a$es%

I * m percurso em pr!*ordem seria; Ada) /ia) Cris) :ia) Ana) Oel) Mosa) Mita)Val) =ol) :ua) :ina

II * m percurso em ordem sim!trica seria; Val) =ol) Mosa) Mita) Oel) :ua) :ina):ia) Cris) /ia) Ana) Ada

III * m percurso em n $el seria; :ina) Ana) :ua) Ada) :ia) =ol) Cris) Mita) Val) /ia)Oel) Mosa

IV * m percurso em p s*ordem seria; :ina) Ana) Ada) :ia) Cris) /ia) :ua) =ol)Mita) Oel) Mosa) Val

5st&o corretos apenas os percursos indicados em;

6a7% I e II%

6b7% II e III%

PÆgina 09 de 12333%.andbookdeti%com%br

Page 15: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 15/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;/anca;Institui &o;Cargo;Ano;

Quest&o;

6c7% I) II e III%

6d7% I) II e IV%

6e7% II) III e IV%

=olu &o;

Classicamente) uma Ær$ore binÆria ! de nida como uma estrutura de dadoscom as seguintes caracter sticas;

n&o ter elemento algum 6uma Ær$ore $a-ia7U

ter um elemento distinto 6n rai- da Ær$ore7) com dois ponteiros paraestruturas distintas) denominadas sub*Ær$ore esquerda e sub*Ær$oredireita%

Cada um dos dois n s sub*sequentes a um n rai- 6n da esquerda e n dadireita7 s&o c.amados l.os do n rai-%

ma Ær$ore binÆria de busca 6ou Ær$ore de busca binÆria ou Ær$ore depesquisa binÆria7 ! organi-ada em uma Ær$ore binÆria) sendo umaestrutura onde todos os n s possuem c.a$es que s&o $alores e) por padr&o) os

n s esquerda formam uma sub*Ær$ore com $alores inferiores ao do n rai- eos n s direita formam uma sub*Ær$ore com $alores superiores ao do n darai-% Assim) as c.a$es em uma Ær$ore binÆria de busca s&o semprearma-enadas satisfa-endo propriedade de Ær$ore de pesquisa binÆria;

=e"a ' um n em uma Ær$ore binÆria de busca% =e S ! um n na sub*Ær$oreesquerda de ') ent&o c.a$eSW X c.a$e'W% =e S ! um n na sub*Ær$oredireita de ') ent&o c.a$e'W X c.a$eSW%

5ssa propriedade orienta tanto a busca por $alores na Ær$ore quanto a inser &ode no$os n s) que s&o opera ıes recorrentes nessa estrutura de dados% ma

outra opera &o interessante) que permite a impress&o de todos os $aloresarma-enados em uma Ær$ore binÆria de busca) ! c.amada de percurso epode*se dar) de acordo com a literatura comumente encontrada) de tr#sformas distintas; percurso de Ær$ore em ordem 6ou em ordem sim!trica7)percurso de Ær$ore de pr!*ordem 6ou em pr!*ordem7 e percurso de Ær$ore dep s*ordem 6ou em p s*ordem7% HÆ) ainda) autores que registram um quarto tipode percurso con.ecido como percurso em largura 6ou percurso em n $el7%

(o percurso de Ær$ore em ordem sim!trica) a c.a$e da rai- de uma sub*Ær$ore! impressa entre os $alores de sua sub*Ær$ore esquerda e aqueles de sua sub*Ær$ore direita% =emel.antemente) o percurso de Ær$ore de pr!*ordem imprime

a rai- antes dos $alores em uma ou outra sub*Ær$ore) e o percurso de Ær$ore

PÆgina 0? de 12333%.andbookdeti%com%br

Page 16: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 16/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

de p s*ordem imprime a rai- depois dos $alores contidos em suas sub*Ær$ores%5sses tr#s tipos de percurso) de nidos recursi$amente) s&o consideradospercursos em profundidade%

+ percurso em n $el 6percurso em largura7) mais bem compreendido de forma

n&o*recursi$a) $isita os n s na ordem em que aparecem nos n $eis da Ær$ore;primeiramente) s&o $isitados todos os n s do n $el U em seguida) $isitam*se osn s do pr 'imo n $elU e assim por diante% 5m geral) os n s s&o $isitados daesquerda para a direita em cada um dos n $eis%

4adas as informa ıes apresentadas na quest&o) tem*se a seguinte Ær$orebinÆria de busca;

8igura 0; e'emplo degura%

Como :ina ! o primeiro $alor apresentado Ær$ore binÆria de busca que estÆinicialmente $a-ia) ele ! considerado a rai- da Ær$ore principal% + $alorseguinte) Ana ) ! considerado menor do que o anterior 6crit!rio; ordem

alfab!tica7 e) portanto) de$erÆ ser inserido esquerda do n rai-% + $alorseguinte) :ia ) tamb!m ! inferior ao $alor da rai- e) consequentemente) serÆinserido esquerda do mesmo% Como ! superior ao $alor Ana "Æ presente) situar*se*Æ direita do mesmo% 5 assim por diante%

m percurso em pr!*ordem 6isto !) um percurso no qual a rai- ! $isitada antesde seus l.os7 ! :ina) Ana) Ada) :ia) Cris) /ia) :ua) =ol) Mita) Oel) Mosa) Val%+bser$a*se que a rai- de cada 6sub*7Ær$ore ! $isita antes de seus l.os 6 :ina$em antes de Ana e :ua ) Ana $em antes de Ada e :ia ) e assimsucessi$amente7 e na sequ#ncia $isitam*se primeiramente os l.os da esquerdae) em seguida) os l.os da direita% A outra op &o para um percurso em pr!*

ordem) agora $isitando os l.os da direita antes dos l.os da esquerda) ! :ina):ua) =ol) Val) Mita) Mosa) Oel) Ana) :ia) Cris) /ia) Ana%

m percurso em ordem sim!trica 6isto !) um percurso no qual a rai- apareceentre seus l.os7 ! Ada) Ana) /ia) Cris) :ia) :ina) :ua) Oel) Mita) Mosa) =ol) Val%Considerou*se a $isita aos l.os da esquerda antes dos l.os da direita% A ordemin$ersa) ou se"a) l.os da direita antes dos l.os da esquerda) tamb!m ! poss$el; Val) =ol) Mosa) Mita) Oel) :ua) :ina) :ia) Cris) /ia) Ana) Ada%

Para a Ær$ore dada) um percurso em p s*ordem 6isto !) a rai- ! $isita ap s seusl.os7) $isitando primeiramente os l.os da esquerda) ! Ada) /ia) Cris) :ia) Ana)

Oel) Mosa) Mita) Val) =ol) :ua) :ina% Visitando os l.os da direita antes dos l.os da

PÆgina 0@ de 12333%.andbookdeti%com%br

Page 17: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 17/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;/anca;Institui &o;Cargo;Ano;

Quest&o;

esquerda) o outro percurso em p s*ordem ! Val) Mosa) Oel) Mita) =ol) :ua) /ia)Cris) :ia) Ada) Ana) :ia%

Para o percurso em n $el) tem*se :ina) Ana) :ua) Ada) :ia) =ol) Cris) Mita) Val)/ia) Oel) Mosa como um percurso que reali-a uma $isita aos l.os da esquerdaantes dos l.os da direita% In$ersamente) $isitando os l.os da direitaprimeiramente) obt#m*se :ina) :ua) Ana) =ol) :ia) Ada) Val) Mita) Cris) Mosa) Oel)/ia%

Apenas as asserti$as II e III condi-em com a teoria e'posta% As demais) buscamconfundir o candidado) embaral.ando resultados poss $eis 6a asserti$a I ! umpercurso em n $el e a asserti$a IV apresenta um percurso em pr!*ordem7%4esta forma) a resposta da quest&o ! a letra 6/7%

PÆgina 0B de 12333%.andbookdeti%com%br

Page 18: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 18/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;

B% Algoritmos de +rdena &o) Heapsort) +rdena &o por r$ore de4ecis&o) +rdena &o por Compara &o) Quicksort) +rdena &o por Inser &o) +rdena&o por

Intercala &o)/anca; C5=,MA(MI+Institui &o; PetrobrasCargo; Analista de =istemas * 5ng% de =oft3areAno; 1LQuest&o; @B

=obre o algoritmo de ordena &o .eapsort) assinale a a rma &o correta%

6a7% tili-a ordena &o por Ær$ore de decis&o) ao in$!s de ordena &o porcompara &o%

6b7% A estrutura de dados que utili-a) c.amada .eap) pode ser

interpretada como uma Ær$ore binÆria%6c7% =eu desempen.o de pior caso ! pior do que o do algoritmo quicksort%

6d7% =eu desempen.o de pior caso ! o mesmo da ordena &o por inser &o%

6e7% =eu desempen.o de pior caso ! menor do que o da ordena &o porintercala &o%

=olu &o;

+ Heapsort utili-a uma estrutura de dados c.amada .eap binÆrio 6Ær$orebinÆria mantida na forma de $etor7 para ordenar os elementos a medida que

os insere na estrutura% 4essa forma) ao nal das inser ıes) os elementos podemser sucessi$amente remo$idos da rai- da .eap) na ordem dese"ada% Para umaordena &o crescente) de$e ser constru da uma .eap mÆ'ima 6o maiorelemento ca na rai-7% KÆ para uma ordena &o decrescente) de$e ser constru dauma .eap m nima 6o menor elemento ca na rai-7% 5m resumo) as principaiscaracter sticas desse algoritmo s&o;

ordena &o por sele &oU

.eap gerada e mantida no pr prio $etor a ser ordenado 6utili-a &o e ciente damem ria7U

comple'idade 6em qualquer caso; pior) m!dio ou mel.or7; +6n log n7U

consumo de mem ria ao construir a Ær$oreU n&o ! indicado para $etores pequenos por conta do tempo de constru &o da

Ær$ore%

6A7 5MMA4A

Algoritmos que se baseiam apenas em compara ıes entre os elementos deentrada para efetuarem ordena ıes s&o denominados algoritmos de ordena &opor compara &o% +s algoritmos Heapsort) Quicksort e +rdena &o por Intercala&o 6Oergesort7 s&o alguns e'emplos desse tipo de algoritmo%

ma Ær$ore de decis&o representa) de modo abstrato) as compara ıese'ecutadas por um algoritmo de ordena &o% =uas principais propriedades s&o;

PÆgina 02 de 12333%.andbookdeti%com%br

Page 19: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 19/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

! uma Ær$ore binÆriaU possui no m nimo nY fol.as 6para n igual ao nGmerode elementos a serem ordenados7U cada fol.a cont!m uma permuta &o dosdados de entrada% + camin.o mais longo da Ær$ore representa o pior caso dee'ecu &o do algoritmo%

sempre poss $el construir uma Ær$ore de decis&o para algoritmos de ordena&o por compara &o% 5ssa constru &o ! reali-ada da seguinte forma;

'e o nU

$eri que qual ! a primeira compara &o do algoritmo) que pode resultar em simou n&o % (esse passo) ! necessÆrio saber quais s&o os ndices que est&o sendocomparadosU

a primeira compara &o ! colocada na rai- da Ær$ore de decis&o) incluindo osarcos sim e n&o U

repita os passos anteriores para cada n da Ær$ore% 5m cada compara &o) !necessÆrio saber quais s&o os ndices que est&o sendo comparados% +bser$eque sempre se de$e analisar os ndices originais) ou se"a) n&o de$em serconsideradas as trocas de ndices ocorridas durante a e'ecu &o do algoritmo%

 Tendo em $ista os conceitos apresentados) conclui*se que o algoritmo Heapsortpode ser representado por uma Ær$ore de decis&o) "Æ que ! um dos algoritmosque reali-a ordena &o por compara &o% Portanto) essa alternati$a estÆ errada%

6/7 C+MM5TA

Considerando a e'plica &o apresentada acima) se torna fÆcil concluir que ! essaa alternati$a correta%

6C7 5MMA4A

=eu desempen.o no pior caso 6igual ao do mel.or ou m!dio caso7 ! +6n log n7%5sse ! o mel.or resultado dentre os algoritmos baseados em compara ıes% 5ssecon.ecimento "Æ bastaria para concluir que essa alternati$a estÆ incorreta% Ascomple'idades do algoritmo Quicksort s&o O6nlogn7 para o mel.or caso e O6n17para o pior caso% sempre importante ter em mente que quanto mais e ciente fora escol.a do pi$ot) mais e ciente serÆ o desempen.o da ordena &o do algoritmoQuicksort%

647 5MMA4A

(o pior caso) a ordena &o por inser &o apresenta comple'idade igual a O6n17) poisnesse caso s&o necessÆrias n6n Z 07 / 1 [ 6n17 / 1 compara ıes% 5sse cenÆriosempre ocorre quando a sequ#ncia de entrada estÆ ordenada na ordem in$ersadese"ada%

657 5MMA4A

 Tamb!m c.amado de Oergesort) o algoritmo de ordena &o por intercala &o) umalgoritmo recursi$o) se utili-a da t!cnica di$idir para conquistar % =ua id!ia

bÆsica ! que ! mais fÆcil criar uma sequ#ncia ordenada a partir de duasoutras tamb!m ordenadas% Para isso) ele di$ide a sequ#ncia original em pares

PÆgina 0L de 12333%.andbookdeti%com%br

Page 20: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 20/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;

de dados) as ordena) depois as agrupa em sequ#ncias de quatro elementos) eassim por diante) at! ter toda a sequ#ncia di$idida em apenas duas partes% =uacomple'idade tanto para o pior quanto para o mel.or caso ! +6n log n7% =eu

ponto fraco ! a bai'a e ci#ncia na utili-a &o de mem ria) comple'idade espacial+6n7% Contudo) e'iste uma $ariante desse algoritmo que reali-a a ordena &o no prprio $etor de entrada) ou se"a) comple'idade espacial +607) mas a suaimplementa &o ! e'tremamente complicada%

2% Programa &o) Algoritmos de +rdena &o)/anca; 8CCInstitui &o; TMT 0@a Megi&oCargo; Analista KudiciÆrio * Tecnologia da Informa &oAno; 1NQuest&o; 10

=&o algoritmos de classi ca &o por trocas apenas osm!todos 6a7% =election=ort e Insertion=ort%

6b7% Oerge=ort e /ubble=ort%

6c7% Quick=ort e =election=ort%

6d7% /ubble=ort e Quick=ort%

6e7% Insertion=ort e Oerge=ort%

=olu &o;

+s algoritmos de ordena &o s&o uns dos principais ob"etos de estudo na Æreade computa &o% Tais algoritmos tem por ob"eti$o colocar os elementos de umasequ#ncia em uma determinada ordem) sendo as mais utili-adas as ordensnum!ricas e alfab!ticas%

ma das principais ra-ıes para se ordenar uma sequ#ncia ! permitir que osseus elementos se"am acessados de forma mais e ciente% +s m!todos deordena &o mais con.ecidos e utili-ados s&o os seguintes;

+rdena &o por Troca

/ubble=ort 6O!todo da /ol.a7

Quick=ort 6O!todo da Troca e Parti &o7

+rdena &o por Inser &o

Insertion=ort 6O!todo da Inser &o 4ireta7

/inarSInsertion=ort 6O!todo da Inser &o 4ireta /inÆria7

+rdena &o por =ele &o

=election=ort 6O!todo da =ele &o 4ireta7

Heap=ort 6O!todo da =ele &o em r$ore7

+utros m!todos

Oerge=ort 6O!todo da Intercala &o7

/ucket=ort 6O!todo da 4istribui &o de C.a$e7

Counting=ort 6O!todo da +rdena &o por Contagem7

PÆgina 0N de 12333%.andbookdeti%com%br

Page 21: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 21/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Como podemos $er) dentre os m!todos apresentados nas alternati$as daquest&o) os Gnicos baseados na ordena &o troca s&o o /ubble=ort e oQuick=ort% Portanto) a resposta da quest&o ! a alternati$a 4% Tais algoritmoss&o classi cados como de troca por que seus processos de ordena &o se d&oatra$!s de trocas entre pares de elementos do $etor% 5mbora o /ubble=ort e o

Quick=ort se baseiem em trocas) seu funcionamento geral e o seudesempen.o diferem substancialmente%

+ /ubble=ort !) tal$e-) o m!todo simples de ordena &o) que funciona atra$!sde sucessi$as trocas entre pares de elementos do $etor% + m!todo reali-a$arreduras no $etor) trocando pares ad"acentes de elementos sempre que o pr'imo elemento for menor que o anterior%

Ap s uma $arredura) o maior elemento estÆ corretamente posicionado no $etore n&o precisa mais ser comparado% 4essa forma) ap s a i*!sima $arredura) os imaiores elementos est&o ordenados% A comple'idade algor tmica de tempo do

/ubble=ort ! O6n1

7%

+ Quicksort adota uma estrat!gia con.ecida como di$is&o e conquista% Por isso)usualmente) o Quicksort ! implementado utili-ando*se o paradigma recursi$o%(o primeiro passo do Quick=ort) um elemento da lista ! escol.ido como pi$ % 5mseguida) a lista ! rearran"ada 6por meio de trocas de posi &o entre os elementos7de modo que todos os elementos anteriores ao pi$ se"am menores que ele) etodos os elementos posteriores ao pi$ se"am maiores que ele% Ao m desseprocesso) que denomina*se particionamento) o pi$ estarÆ em sua posi &o nal e.a$erÆ duas sublistas n&o ordenadas%

5m seguida) o algoritmo Quick=ort ! reaplicado a cada uma das sublistas) sendoa base da recurs&o as sublistas de taman.o -ero ou um que) por de ni &o) est&osempre ordenadas% + processo ! nito) pois a cada itera &o pelo menos umelemento ! posto em sua posi &o nal e n&o serÆ mais manipulado na itera &oseguinte% A comple'idade algor tmica de tempo do Quick=ort ! O6nlgn7%

A seguir) e'emplos de implementa &o do bubble sort e do quicksort usando alinguagem de programa &o rubS%

\/ubble=ort em MubS def bubblesort6list7

return list if list%si-e X 0 \ alreadS sorted loop dos3apped false%upto6list%si-e*17 do EiE if listiW

J listiF0WlistiW) listiF0W listiF0W) listiW \ s3ap $alues s3apped true

endendbreak unless s3apped

end return listend

PÆgina 1 de 12333%.andbookdeti%com%br

Page 22: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 22/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;

\Quick=ort em MubS def quicksort6arraS7 return arraS if arraS%si-e X 0pi$ot arraSW

return quicksort 6arraS%select ]ESE S X pi$ot ^7 FarraS%select ] ESE S pi$ot ^ F quicksort 6arraS%select]ESE S J pi$ot ^7 endL% 5struturas de 4ados) Algoritmos de +rdena &o)

/anca; 8CCInstitui &o; TMT 0Ba Megi&oCargo; Analista KudiciÆrio * Tecnologia da Informa &oAno; 1NQuest&o; 9@

=&o) respecti$amente) um m!todo de busca e um m!todo de ordena &o;

6a7% linear e por sele &o direta%

6b7% por permuta &o e linear%

6c7% por sele &o direta e por permuta &o%

6d7% por permuta &o e binÆria%

6e7% linear e binÆria%

=olu &o;

+s principais algoritmos de ordena &o podem ser classi cados em; ordena &opor inser &o) ordena &o por troca) ordena &o por sele &o e ordena &o porintercala &o 6permuta &o7%

(a ordena &o por inser &o) di$idi*se o $etor em dois segmentosU o primeirocom os elementos "Æ ordenados e o seguinte com o restante dos elementosainda n&o ordenados% + primeiro elemento ! colocado no primeiro segmento%Metira*se o primeiro elemento do segmento desordenado e insere*se nosegmento ordenado em sua posi &o correta% Mepete*se o processo para osdemais elementos do $etor% A comple'idade de tempo deste algoritmo ! deO6n17% 5'emplos de algoritmos de ordena &o por inser &o s&o a inser &o direta eo incremento decrescente 6=.ell sort7%

(a ordena &o por troca) comparam*se dois elementos e trocam*se suas posi

ıes se o segundo elemento ! menor do que o primeiro% A comple'idade detempo deste algoritmo ! de O6n17% 5'emplos de algoritmos de ordena &o portroca s&o o m!todo da bol.a 6buble sort7 e o m!todo da troca e parti &o6quicksort7

(a ordena &o por sele &o) seleciona*se o menor item do $etor% 5m seguida)troca esse elemento com o item que estÆ na primeira posi &o do $etor%Mepete*se este procedimento para o n Z 0 elementos restantes% Acomple'idade de tempo deste algoritmo ! de O6n17% 5'emplos de algoritmosde ordena &o por sele &o s&o a inser &o direta e a inser &o em Ær$ore6.eapsort7%

PÆgina 10 de 12333%.andbookdeti%com%br

Page 23: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 23/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

(a ordena &o por intercala &o) di$idi*se o $etor em 1 sub*$etores decomprimento) apro'imadamente n/ 1% +rdena recursi$amente cada sub*$etor6di$idindo*se no$amente) quando poss $el7% 8a- o merge dos 1 sub*$etoresordenados para obter o $etor ordenado completo% A comple'idade de tempodeste algoritmo ! de O6nlog6n77% 5'emplo de algoritmo de ordena &o por

intercala &o ! o mergesort%

+s principais algoritmos de busca s&o classi cados em linear e binÆrio%

+ algoritmo de busca linear ! a forma mais simples de se consultar um $etorem busca de um elemento% A busca ! reali-ada da seguinte maneira; a partirdo in cio do $etor) e'amina*se cada um de seus elementos at! que oelemento dese"ado se"a encontrado ou at! que o nal do $etor se"a atingido% Acomple'idade de tempo deste algoritmo ! de O6n7%

+ algoritmo de busca binÆria ! aplicado quando os elementos de um $etor est&o

ordenados% A busca ! reali-ada por meio de sucessi$as di$isıes do espa o debusca 6di$is&o e conquista7) comparando o elemento buscado 6c.a$e7 com oelemento no meio do $etor% =e o elemento do meio do $etor for a c.a$e) a buscatermina com sucesso% Caso contrÆrio) se o elemento do meio $ier antes doelemento buscado) ent&o a busca continua na metade posterior do $etor% 5nalmente) se o elemento do meio $ier depois da c.a$e) a busca continua nametade anterior do $etor% A comple'idade de tempo deste algoritmo ! deO6log16n77%

4e acordo com as alternati$as desta quest&o) um m!todo de busca e um deordena &o) respecti$amente) ! o linear e por sele &o direta% :ogo) a alternati$acorreta ! 6A7%

PÆgina 11 de 12333%.andbookdeti%com%br

Page 24: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 24/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;

N% Programa &o) Algoritmos de +rdena &o) O!todo de +rdena &o da /ol.a) /ubble=ort) /anca; CesgranrioInstitui &o; Petrobras

Cargo; Analista de =istemas Pleno * ProcessosAno; 1BQuest&o; @9

+ seguinte algoritmo) c.amado ordena) implementa um con.ecido m!todo deordena &o para listas seq enciais;

ordena 6int $etW) int n7 ]int i) ") pos) au'U para 6 i U i Xn * 0U iFF 7] pos iU para 6 " iF 0U " X nU "FF 7

se 6 $et posW J $et "W 7

pos "Use 6 pos XJ i 7 ] au'

$etiWU $etiW $etposWU $etposW au'U

^^

^

=e o algoritmo for e'ecutado recebendo como par metros @) 9) 0) 1) ? e @)quantas trocas s&o efetuadas e em que sentido ! feita a ordena &o 6crescente

ou decrescente7 6a7% ?) crescente% 6b7% B) crescente% 6c7% N) crescente%6d7% ?) decrescente%

6e7% 2) decrescente%

=olu &o;

+ algoritimo de ordena &o apresentado na quest&o ! con.ecido comobubblesort ou m!todo da bol.a% 5ntre os algoritmos de ordena &o) obubblesort ! classi cado como um algoritmo de ordena &o por sele &o e troca)pois o processo de ordena &o baseia*se na compara &o e na troca entre

elementos em um $etor%

+ nome bubblesort tem origem em uma analogia feita com um tubo c.eio debol.as de diferentes taman.os% =e o $etor de tamano ( for imaginado na$ertical) com elemento da posi &o ( em cima e o elemento da posi &o 0embai'o) durante cata etapa do processo de ordena &o o menor elementosubirÆ at! encontrar um elemento menor ainda) como se uma bol.a subissedentro de um tubo de acordo com sua densidade%

Para analisar mel.or o algoritmo) $amos adicionar numeros as lin.as) paraque possamos fa-er referencia a cada um dos passos rele$antes do algoritmo%

PÆgina 19 de 12333%.andbookdeti%com%br

Page 25: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 25/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

0 ordena 6int $etW) int n7 ]

1 int i) ") pos) au'U9 para 6 i U i X n * 0U iFF 7]

? pos iU@ para 6 " i F 0U " X nU "FF 7

B se 6 $et posW J $et "W 72 pos "U

L se 6 pos XJ i 7 ]N au' $etiWU

0 $etiW $etposWU

00 $etposW au'U

01 ^09 ^ 0? ^

(a lin.a ?) ! selecionado o elemento que serÆ comparado na rodada corrente%5ste processo ! repetido para todos os elementos do $etor atra$!s do loop)implementado na lin.a 9% KÆ o loop implementado na lin.a @) garante que oelemento corrente s se"a comparado com os elementos que est&o a sua frente no$etor%

na lin.a B que de fato ocorre a compara &o entre os elementos% Por m) da lin.aL at! a lin.a 01) ocorre o processo de troca de posi &o entre os elementos do$etor) de modo que o menor elemento que antes% Portanto) "Æ podemos a rmarque o algoritmo irÆ e'ecutar colocar os elementos do $etor em ordem crescente%+ que "Æ elimina as alternati$as 4 e 5%

(os resta agora determinar o numero total de trocas que ser&o efetuadas quandoo algoritmo for e'ecutado recebendo como par metros o $etor @) 9) 0) 1) ?% Paraisso) teremos que e'ecutar o algoritmo passo a passo) at! que o $etor este"acompletamente ordenado) momento a partir do qual n&o ocorreram mais trocasde posi &o entre os elementos% + passo a passo da e'ecu &o ! mostrado a seguir;

In cio ;; $et ]@U9U0U1U?^ i)"?)pos1 ;;$et ]0U9U@U1U?^ i0)"?)pos9 ;; $et ]0U1U@U9U?^ i1)"?)pos9 ;; $et ]0U1U9U@U?^i9)"?)pos? ;; $et ]0U1U9U?U@^

Portanto) ocorreram ? trocas no total) e o $etor serÆ ordenado de formacrescente% Com isso) a resposta da quest&o ! a alternati$a A%

0% Algoritmos de +rdena &o) Heapsort)/anca; 5=A8Institui &o; =ecretaria do Tesouro (acional 6=T(7Cargo; Analista de 8inan as e Controle * Tecnologia da Informa &o <4esen$ol$imento de=istemas de Informa &oAno; 1LQuest&o; 1?

PÆgina 1? de 12333%.andbookdeti%com%br

Page 26: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 26/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;

Considere a e'ecu &o do algoritmo de ordena &o Heap 6ou Heap =ort7) em sua$ers&o emlocal 6in*place7) ao arran"o 09) 0L) 0) L) 00% Qual ! a sa da gerada)ap s a e'ecu &o dos tr#s 697 primeiros passos do algoritmo

6a7% 09) 0L) 0) 00) L6b7% 0L) 09) 0) 00) L

6c7% L) 09) 0) 00) 0L

6d7% 09) 0) 00) L) 0L

6e7% 0L) 09) 0) L) 00

=olu &o;

+ Heap =ort 6ou Heapsort7 ! um algoritmo de ordena &o que fa- uso de umaestrutura de dados c.amada .eap% 5le ordena localmente 6in*place7) signicando que apenas um nGmero constante de elementos do arran"o !arma-enado fora do arran"o de entrada em qualquer instante% 5m outraspala$ras) um algoritmo in*place pode at! utili-ar estruturas au'iliares dedados) mas a quantidade dessas estruturas de$e ser 'a) e n&o relacionada6dependente7 ao taman.o da estrutura de entrada%

A estrutura de dados .eap ! um ob"eto arran"o que pode ser $isto como umaÆr$ore binÆria praticamente completa) sendo que cada n dessa Ær$orecorresponde a um elemento do arran"o que arma-ena o $alor no n % marran"o A) com uma quantidade de elementos de nida por comprimentoAW)tem por rai- o elemento A0W% 4ado o ndice i de um n ) o ndice de seu paiPAM5(T6i7) do l.o da esquerda :58T6i7 e do l.o da direita MI,HT6i7podem ser calculados de modo simples%

5'istem dois tipos de .eaps binÆrios; .eaps mÆ'imos e .eaps m nimos% +sprimeiros satisfa-em a seguinte propriedade;

APAM5(T6i7W D AiW

isto !) o $alor de um n ! no mÆ'imo o $alor de seu pai% 4esse modo) omaior elemento em um .eap mÆ'imo ! arma-enado na rai-) e a subÆr$oreque tem rai- em um n cont!m $alores menores que o pr prio n % m .eap mnimo) organi-ado de forma oposta) satisfa- a seguinte propriedade;

APAM5(T6i7W D AiW sendo que sua rai-

cont!m o menor elemento do arran"o%

A 8igura 1 ilustra uma estrutura .eap mÆ'imo de 0 elementos para oarran"o A 0B) 0?) 0) L) 2) N) 9) 1) ?) 0W%

PÆgina 1@ de 12333%.andbookdeti%com%br

Page 27: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 27/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

8igura 1; estrutura .eap mÆ'imo de 0 elementos para o arran"o A 0B) 0?)0) L) 2) N) 9) 1)?) 0W%

Quando um no$o elemento ! adicionado ao arran"o) ! necessÆrio manter a

propriedade de .eap) o que pode ser feito com as sub*rotinas OA_*H5AP8` eOI(*H5AP8 %̀ Para o caso de um .eap mÆ'imo) tem*se;

OA_*H5AP8`6A) i7 l :58T6i7 M MI,HT6i7 if l taman.o*do*.eapAW e AlW J AiWt.en maior l else maior iif r taman.o*do*.eapAW e ArW J AmaiorW

t.en maior r

if maior B i t.en trocar AiW AmaiorW OA_*H5AP8`6A)maior7

Quando OA_*H5AP8` ! c.amada) supıe*se que as Ær$ores binÆrias com ra-es em :58T6i7 e MI,HT6i7 s&o .eaps mÆ'imos) mas que AiW pode ser menorque seus l.os) $iolando assim a propriedade de .eap mÆ'imo% A fun &o deOA_*H5AP8` ! possibilitar que o $alor em AiW ocupe o lugar adequado naestrutura) de tal forma que a subÆr$ore com rai- no ndice i se torne um .eapmÆ'imo%

poss $el utili-ar o procedimento OA_*H5AP8` para transformar um arran"oA0%%nW) com ncomprimentoAW) em um .eap mÆ'imo% + procedimento

/I:4*OA_*H5AP efetua tal opera &o;

/I:4*OA_*H5AP6A7 taman.o*do*.eapAW comprimentoAW for i bcomprimentoAW<1 c do3nto 0 do OA_*H5AP8`6A) i7

A 8igura 9 ilustra o uso do procedimento /I:4*OA_*H5AP para o arran"oA?) 0) 9) 1) 0B) N) 0) 0?) L) 2W%

PÆgina 1B de 12333%.andbookdeti%com%br

Page 28: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 28/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;

8igura 9; uso do procedimento /I:4*OA_*H5AP para o arran"o A?) 0) 9) 1) 0B)N) 0) 0?)L) 2W%

+bser$a*se que e'iste uma tend#ncia de os $alores do arran"o A carem

ordenados ap s a e'ecu &o do procedimento% Oas n&o .Æ tal obrigatoriedade)pois a propriedade de .eap mÆ'imo n&o tem rela &o com ordena &o%5ntretanto) ! poss $el utili-ar os dois procedimentos pre$iamenteapresentados para ordenar o arran"o A% 5 ! essa a fun &o do algoritmo Heap=ort%

H5AP=+MT6A7/I:4*OA_H5AP6A7 for i comprimentoAW do3nto 1 dotrocar A0W AiW

taman.o*do*.eapAW taman.o*do*.eapAW 0 OA_*H5AP8`6A) 07

PÆgina 12 de 12333%.andbookdeti%com%br

Page 29: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 29/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Para os dados apresentados na quest&o) A 09) 0L) 0) L) 00W) tem*se asequ#ncia de processamento apresentada na 8igura ?%

8igura ?; sequ#ncia de processamento do algoritmo de ordena &o Heap aoarran"o 09) 0L) 0) L)00%

Infeli-mente) a quest&o n&o especi ca o signi cado de passo ) de sorte que cadif cil para o candidato de nir sa das% Quest&o pre"udicada%

PÆgina 1L de 12333%.andbookdeti%com%br

Page 30: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 30/31

Handbook de Questıes de TI Comentadas para Concursos Volume questıes de TI

Assuntos relacionados;

PÆgina 12 de 12Handbook de TI Al!m do ,abarito

PÆgina 1N de 12333%.andbookdeti%com%br

Quest&o

Mesposta

0 5

1 /

9 C

? A

@ /

B /

2 4

L A

N A

0 5

Page 31: Handbook Questoes Algoritmos

7/25/2019 Handbook Questoes Algoritmos

http://slidepdf.com/reader/full/handbook-questoes-algoritmos 31/31

ndice Memissi$o

r$ore /) L

r$ore /inÆria de /usca) 01 r$ores /inÆrias) 01

Algoritmos) ?) BAlgoritmos de +rdena &o) 0@) 02) 0N) 10) 19

/ubble =ort) 10/usca /inÆria) 0/usca =equencial) 0

Comple'idade de Algoritmos) ?) B

5struturas de 4ados) 01) 0N

Heapsort) 0@) 19

O!todo de +rdena &o da /ol.a) 10 O!todos de /usca) L

+rdena &o por r$ore de 4ecis&o) 0@+rdena &o por Compara &o) 0@+rdena &o por Inser &o) 0@+rdena &o por Intercala &o) 0@

Pesquisa /inÆria) LPrograma &o) 02) 10

Quicksort) 0@

1L