Considere que na Defensoria há uma lista ordenada com o nome...

Próximas questões
Com base no mesmo assunto
Q869148 Algoritmos e Estrutura de Dados
Considere que na Defensoria há uma lista ordenada com o nome de 1000 cidadãos amazonenses. Utilizando o método de pesquisa binária para localizar o nome de um destes cidadãos, serão necessárias, no máximo,
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Olá, aluno! Vamos analisar a questão e entender a justificativa para a alternativa correta. A alternativa correta é B - 10 comparações.

Esta questão aborda o tema de pesquisa binária, um algoritmo eficiente para localizar elementos em uma lista ordenada. A pesquisa binária é uma técnica que divide repetidamente a lista ao meio para determinar se o elemento alvo está na metade superior ou inferior, até que o elemento seja encontrado ou as sublistas não possam ser subdivididas.

Para resolver essa questão, é necessário compreender quantas comparações são necessárias, no máximo, ao utilizar a pesquisa binária em uma lista ordenada com 1000 elementos.

Justificativa para a alternativa correta:

A pesquisa binária funciona da seguinte maneira: a cada iteração, ela divide o tamanho da lista pela metade. O número máximo de comparações necessárias para encontrar um elemento em uma lista ordenada de tamanho n é dado por log2n, onde log2 é o logaritmo na base 2.

No caso de uma lista com 1000 elementos, calculamos:

log21000 ≈ 10

Portanto, serão necessárias, no máximo, 10 comparações para localizar o nome de um cidadão na lista utilizando a pesquisa binária.

Por que as outras alternativas estão incorretas:

  • A - 1.000 comparações: Isso se referiria a uma pesquisa linear, onde cada elemento é verificado um a um. A pesquisa binária é muito mais eficiente.
  • C - 500 comparações: Ainda é um número muito alto para o algoritmo de pesquisa binária, que divide a lista ao meio a cada iteração.
  • D - 200 comparações: Também é elevado em comparação ao que a pesquisa binária necessita. Como vimos, log21000 é aproximadamente 10.
  • E - 5 comparações: Embora melhor que as anteriores, ainda é um número baixo para uma lista de 1000 elementos. Talvez se aplicasse a uma lista com menos elementos.

Espero que essa explicação tenha sido clara e tenha ajudado a entender a lógica por trás da pesquisa binária e a razão pela qual a alternativa correta é B - 10 comparações. Se tiver mais dúvidas, estou à disposição para ajudar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

b) 10 Comparações. Log 1000 na base 2.

2^9 = 512

2^10 = 1024

sabemos que o número está na casa do ^9.

 

A fórmula é log n + 1, ou seja, log1000 + 1 --> 9 + 1 = 10

 

@papirobizurado

Pesquisa Binária é log do no.elementos na base 2, aqui é

=log 10**3 na base 2

...transformando log na base 2 em log na base 10, dividimos o log do no.desejado, só que na base 10 por log de 2 na base 10, temos:

=log 10**3 na base 10/log 2 na base 10

=3/3/10

=3*10/3

=30/3

=10

Vocé também pode fazer divisões sucessivas até chegar em 0:

1 comparação - 1000/2 =500

2 comparação - 500/2 = 250

.

.

.

10 comparação 1, 96... / 2= 0, 97...

Potencia de base 2, como temos 1000 comparações serão no mínimo 10, pois 2^10 = 1024.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo