Questões de Concurso sobre Busca binária

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
54 questões encontradas
Questões por página
20
Mais recentes
 

Durante a implementação e manutenção de sistemas de apoio gerencial, um profissional em tecnologia da informação precisa lidar com grandes volumes de dados armazenados em memória para realizar consultas frequentes e garantir bom desempenho das aplicações. Considere que um sistema em Python utiliza uma lista de registros já ordenada em ordem crescente por um identificador numérico único. Diante desse cenário, o profissional de TI deve selecionar um algoritmo de pesquisa adequado, considerando desempenho e boas práticas de engenharia de software. Diante disso, assinale a alternativa que apresenta a descrição CORRETA para a escolha do algoritmo de pesquisa, nesse contexto.


A

Utilizar um algoritmo de ordenação rápida (Quick Sort) a cada consulta, pois sua complexidade média O(log n) otimiza o processo de pesquisa.


B

Utilizar a pesquisa sequencial, pois seu tempo de execução é sempre O(log n) em listas ordenadas, garantindo melhor desempenho em qualquer cenário de busca.


C

Utilizar a pesquisa binária, pois explora o fato de que a lista está ordenada, reduzindo o espaço de busca a cada iteração e apresentando complexidade O(log n).


D

Utilizar um algoritmo de ordenação por inserção (Insertion Sort) antes da busca, pois ele garante menor custo computacional para pesquisas repetidas e sequenciais.


E

Utilizar a pesquisa linear, pois em Python listas são estruturas dinâmicas que não permitem a aplicação de algoritmos de busca binária utilizando o conceito de complexidade O(log n).

Analise o vetor ordenado:


[3, 8, 12, 15, 19, 27, 31].


Aplicando busca binária para localizar o valor 19, quantas comparações serão realizadas até encontrar o elemento, considerando a estratégia padrão de busca binária que compara inicialmente com o elemento central? Considere a implementação clássica da busca binária que retorna o índice do elemento ou -1 se não encontrado. As comparações consideram apenas as verificações do elemento central.


A

1


B

2


C

3


D

4


E

7

Sobre análise de algoritmos, considere o algoritmo de busca binária aplicado sobre um arranjo unidimensional de n elementos, previamente ordenado. No pior caso, a complexidade de tempo (ordem de crescimento) deste algoritmo é adequadamente representada por:


A

O(n)


B

O(n²)


C

O(log n)


D

O(n log n)


E

O(1)

Um desenvolvedor precisa implementar um algoritmo de busca em uma estrutura de dados que armazena 1 milhão de registros ordenados. O requisito é encontrar um registro específico com o menor número de comparações possível.


O algoritmo e a complexidade de tempo mais adequados são


A

busca linear com complexidade O(n)


B

busca por saltos (Jump Search) com complexidade O(√n)


C

busca por interpolação com complexidade O(1)


D

busca em largura (BFS) com complexidade O(log n)


E

busca binária com complexidade O(log n)

Para que a Busca Binária seja aplicada com sucesso em um vetor, qual pré-requisito é obrigatório e qual é a sua complexidade de tempo no pior caso?


A

O vetor deve estar desordenado; O(n).


B

O vetor deve estar ordenado; O(log n).


C

O vetor deve conter apenas números inteiros; O(log n).


D

O vetor deve ser dinâmico; O(n2).


E

O vetor deve possuir tamanho par; O(n).

Considere o seguinte algoritmo de busca binária aplicado sobre um vetor ordenado de inteiros com tamanho 𝑛:


while (inicio <= fim) {

meio = inicio + (fim - inicio) / 2

if (v[meio] == x)

return meio

else if (v[meio] < x)

inicio = meio + 1

else

fim = meio - 1

}


Considerando o pior caso, qual é a complexidade assintótica desse algoritmo em função de 𝑛?


A

𝑂(𝑛)


B

𝑂(log 𝑛)


C

𝑂(𝑛log 𝑛)


D

𝑂(√𝑛)


E

𝑂(1)

Um programador precisa buscar um registro específico em um arquivo de dados grande. O arquivo está desordenado e não possui qualquer estrutura de índice.


Assinale a afirmativa que compara corretamente a eficiência dos algoritmos de Busca Sequencial e Busca Binária neste cenário.


A

A Busca Binária é sempre superior à Sequencial, pois sua complexidade de tempo é 𝑂(1).


B

A Busca Sequencial tem uma complexidade de 𝑂(𝑙𝑜𝑔𝑁), pois ela aproveita a desordem do arquivo para realizar menos comparações.


C

A Busca Binária tem complexidade 𝑂(𝑙𝑜𝑔𝑁), mas não pode ser aplicada neste cenário, pois exige que o arquivo esteja previamente ordenado pela chave de busca.


D

A Busca Sequencial tem complexidade 𝑂(𝑁) e é a única aplicável a arquivos desordenados, enquanto a Binária tem complexidade 𝑂(𝑁2 ).


E

A Busca Binária é aplicável, mas a Busca Sequencial é mais rápida, pois evita a sobrecarga de cálculo do ponto médio.

Considere o seguinte código escrito em Python 3:


def busca_binaria(lista, elemento):

inicio = 0

fim = len(lista) - 1


while inicio <= fim:

meio = (inicio + fim) // 2

if lista[meio] == elemento:

return meio

elif lista[meio] < elemento:

inicio = meio + 1

else:

fim = meio - 1


return -1


A complexidade de tempo desse algoritmo em termos da notação Big-O é


A

O(1).


B

O(n).


C

O(n²).


D

O(log n).


E

O(n!).

Imagem associada para resolução da questão


O algoritmo de busca binária apresentado anteriormente possui


A

complexidade de tempo O(n), em que n é o número de elementos no array.


B

complexidade de tempo O(log n), em que n representa o número de elementos no array.


C

complexidade espacial O(n), já que o algoritmo não usa estruturas de dados adicionais que crescem com o tamanho da entrada.


D

complexidade espacial O(log n), já que o algoritmo não usa estruturas de dados adicionais que crescem com o tamanho da entrada.


E

complexidade de tempo O(1), já que o algoritmo não usa estruturas de dados adicionais que crescem com o tamanho da entrada.

Estruturas de dados são fundamentais para armazenar e organizar informações de forma eficiente em um sistema computacional. A escolha dos métodos de acesso, busca, inserção e ordenação pode impactar significativamente o desempenho do programa.


Com base nisso, assinale a opção que indica o método de busca que é mais eficiente quando aplicado em uma lista ordenada contendo milhares de elementos.


A

Busca Linear.


B

Busca Binária.


C

Busca Hash.


D

Busca Sequencial.


E

Busca por Interpolação.

Ao se comparar os algoritmos de busca linear e de busca binária em um array ordenado com elementos, verifica-se que a busca binária tem complexidade temporal O(log ), enquanto a busca linear tem complexidade temporal O().


C

Certo


E

Errado

Em um algoritmo de busca binária, é necessário que o vetor esteja previamente ordenado para que a busca seja correta e eficiente.


C

Certo


E

Errado

A complexidade do algoritmo de busca binária, em sua forma iterativa, é O(log n), o que representa ganho significativo de desempenho sobre a busca linear em listas ordenadas.


C

Certo


E

Errado

Pesquisa binária é um algoritmo empregado na computação para encontrar um item em uma lista ordenada de elementos. Trata-se da complexidade do tempo desse algoritmo no pior caso:


A

O(1)


B

O(n)


C

O(log n)


D

O(n log n)

Leia o caso a seguir.


Considere uma função de busca recursiva em uma estrutura de dados do tipo árvore binária de busca. A eficiência dessa função é crucial para a performance de consultas em um banco de dados que utiliza essa estrutura para indexação.


Elaborado pelo(a) autor(a).


Dada a importância da escalabilidade e do consumo eficiente de recursos, e considerando uma árvore binária de busca balanceada, a opção que oferece a melhor implementação para a função de busca é aquela que


A

realiza a busca em profundidade, verificando cada nó e seus descendentes, sem qualquer mecanismo de corte.


B

verifica apenas os nós folha, pois estes contêm todas as chaves necessárias para a busca.


C

divide a árvore em sub árvores menores e realiza a busca sequencialmente em cada uma delas.


D

compara a chave de busca com a chave de cada nó visitado, descartando metade da árvore a cada passo.

Em uma Árvore Binária de Busca (BST) balanceada, qual das seguintes operações geralmente exibe uma complexidade de tempo média de O (log n), considerando a estrutura balanceada da árvore?


A

Inserção de um novo nó e remoção de um nó.


B

Remoção de um nó e busca por um elemento.


C

Inserção de um novo nó e busca por um elemento.


D

inserção de um novo nó, remoção de um nó e busca por um elemento.

Em uma árvore binária de busca (BST), a afirmação que é verdadeira para todos os nós é


A

todos os nós à esquerda de um nó contêm valores maiores que o valor do nó.


B

todos os nós à direita de um nó contêm valores menores que o valor do nó.


C

o nó raiz sempre tem o menor valor na árvore.


D

todos os nós à esquerda de um nó contêm valores menores ou iguais ao valor do nó, e todos os nós à direita contêm valores maiores ou iguais ao valor do nó.


E

todos os nós à esquerda de um nó contêm valores menores que o valor do nó, e todos os nós à direita contêm valores maiores que o valor do nó.

O analista Jon está ministrando um treinamento sobre algoritmos de busca e, durante a explicação sobre a busca binária em uma lista ordenada de n elementos, ele discute a eficiência desse algoritmo.


A complexidade de tempo correta que Jon deve apresentar para a busca binária é a de:


A

O(n);


B

O(n log n);


C

O(log n);


D

O(n^2);


E

O(1).

Considerando uma tabela Hash com uma boa função de Hash e carga balanceada, qual é a complexidade de tempo médio para a operação de busca?


A

O(1).


B

O(n).


C

O(log n).


D

O(n log n).

 
 
Gerar simulado