Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Binary Search 
 
A Busca Binária (ou Binary Search) é um algoritmo eficiente para encontrar um 
valor em uma lista ordenada de elementos. Diferente da busca linear, que verifica 
cada elemento um por um, a busca binária reduz pela metade o espaço de busca a 
cada iteração, resultando em uma complexidade logarítmica, O(log n). Isso torna a 
busca binária significativamente mais rápida do que a busca linear para listas 
grandes, desde que a lista esteja ordenada.
O princípio fundamental da busca binária é o seguinte: dado um conjunto de 
dados ordenados, o algoritmo começa examinando o elemento central da lista. Se o 
elemento central for o valor desejado, a busca termina. Se o valor desejado for menor 
do que o elemento central, a busca continua na metade inferior da lista; se for maior, 
na metade superior. Esse processo se repete, sempre dividindo a lista pela metade, 
até que o valor seja encontrado ou o intervalo de busca seja reduzido a zero.
O pré-requisito para o uso da busca binária é que os dados estejam organizados 
de maneira crescente ou decrescente. A principal vantagem do algoritmo é sua 
eficiência em termos de tempo de execução, particularmente para grandes conjuntos 
de dados. No entanto, a busca binária só funciona corretamente em listas que já estão 
ordenadas.
A seguir, exploramos o conceito da busca binária por meio de perguntas 
discursivas e de múltipla escolha.
Pergunta Discursiva:
Explique por que a busca binária é mais eficiente do que a busca linear em listas 
grandes, e discuta as limitações e pré-requisitos do algoritmo. Forneça exemplos de 
quando a busca binária pode ser usada e cenários onde seu uso não seria apropriado.
Resposta esperada:
A busca binária é mais eficiente do que a busca linear porque, em vez de verificar 
elemento por elemento como na busca linear (que tem complexidade O(n)), ela divide 
o conjunto de dados pela metade a cada passo, resultando em uma complexidade 
O(log n). Essa abordagem reduz drasticamente o número de comparações 
necessárias, especialmente para listas grandes. Por exemplo, se uma lista tiver 
1.000.000 de elementos, a busca linear pode exigir até 1.000.000 de comparações no 
pior caso. Já a busca binária requer apenas cerca de 20 comparações, porque a cada 
etapa o número de elementos a serem verificados é dividido por dois.
af://n25
No entanto, a busca binária só pode ser aplicada a listas que já estejam ordenadas. 
Se a lista estiver desordenada, é necessário ordená-la antes, o que adiciona um custo 
adicional ao processo (a ordenação tem complexidade O(n log n) nos melhores 
algoritmos de ordenação). Além disso, a busca binária não é aplicável a estruturas de 
dados que não suportam acessos aleatórios diretos, como listas encadeadas, onde não 
é possível acessar rapidamente o elemento central.
Exemplos de aplicação da busca binária incluem pesquisa em bancos de dados 
ordenados, busca em índices de livros, e jogos que utilizam algoritmos de busca para 
localizar posições específicas em mapas ordenados. No entanto, se os dados 
estiverem em uma ordem aleatória ou se a estrutura de dados não permitir acessos 
rápidos aos elementos centrais, a busca binária não seria a escolha apropriada. Nesses 
casos, algoritmos de busca linear ou técnicas especializadas, como busca em árvores, 
podem ser mais adequados.
Perguntas de Múltipla Escolha:
1. Qual é a principal razão pela qual a busca binária é mais rápida que a busca 
linear em listas grandes?
a) A busca binária começa sempre a partir do último elemento da lista, 
enquanto a busca linear começa do primeiro.
b) A busca binária divide a lista em partes menores a cada etapa, reduzindo 
o número de comparações necessárias pela metade a cada iteração.
c) A busca binária verifica todos os elementos da lista simultaneamente, 
enquanto a busca linear faz uma verificação de cada vez.
d) A busca binária usa índices aleatórios da lista, enquanto a busca linear 
segue uma sequência fixa.
Resposta correta: b) A busca binária divide a lista em partes menores a cada 
etapa, reduzindo o número de comparações necessárias pela metade a cada 
iteração.
2. Qual das seguintes condições é um pré-requisito para que a busca binária 
funcione corretamente?
a) A lista deve ser composta apenas por números inteiros.
b) A lista deve ser ordenada de forma crescente ou decrescente.
c) A lista deve conter um número ímpar de elementos.
d) A lista deve ser implementada como uma árvore binária.
Resposta correta: b) A lista deve ser ordenada de forma crescente ou 
decrescente.
3. Qual é a complexidade de tempo da busca binária em um conjunto de 
dados ordenado?
a) O(n)
b) O(n²)
c) O(log n)
d) O(1)
Resposta correta: c) O(log n)
A busca binária, ao reduzir o número de elementos pela metade a cada passo, é 
uma das abordagens mais eficientes para localizar um elemento em listas grandes, 
desde que estejam ordenadas. Ao contrário da busca linear, que examina cada 
elemento sequencialmente, a busca binária aproveita a ordenação dos dados para 
eliminar grandes partes do conjunto de uma só vez.

Mais conteúdos dessa disciplina