

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
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.
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.
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.
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).
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.
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.
1
2
3
4
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:
O(n)
O(n²)
O(log n)
O(n log n)
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
busca linear com complexidade O(n)
busca por saltos (Jump Search) com complexidade O(√n)
busca por interpolação com complexidade O(1)
busca em largura (BFS) com complexidade O(log n)
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?
O vetor deve estar desordenado; O(n).
O vetor deve estar ordenado; O(log n).
O vetor deve conter apenas números inteiros; O(log n).
O vetor deve ser dinâmico; O(n2).
O vetor deve possuir tamanho par; O(n).


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
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 𝑛?
𝑂(𝑛)
𝑂(log 𝑛)
𝑂(𝑛log 𝑛)
𝑂(√𝑛)
𝑂(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 Busca Binária é sempre superior à Sequencial, pois sua complexidade de tempo é 𝑂(1).
A Busca Sequencial tem uma complexidade de 𝑂(𝑙𝑜𝑔𝑁), pois ela aproveita a desordem do arquivo para realizar menos comparações.
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.
A Busca Sequencial tem complexidade 𝑂(𝑁) e é a única aplicável a arquivos desordenados, enquanto a Binária tem complexidade 𝑂(𝑁2 ).
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 é
O(1).
O(n).
O(n²).
O(log n).
O(n!).

O algoritmo de busca binária apresentado anteriormente possui
complexidade de tempo O(n), em que n é o número de elementos no array.
complexidade de tempo O(log n), em que n representa o número de elementos no array.
complexidade espacial O(n), já que o algoritmo não usa estruturas de dados adicionais que crescem com o tamanho da entrada.
complexidade espacial O(log n), já que o algoritmo não usa estruturas de dados adicionais que crescem com o tamanho da entrada.
complexidade de tempo O(1), já que o algoritmo não usa estruturas de dados adicionais que crescem com o tamanho da entrada.
A complexidade de busca em uma árvore binária balanceada é
O(1).
O(n).
O(n log n).
O(log n).
O(log n2 ).


Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
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.
Busca Linear.
Busca Binária.
Busca Hash.
Busca Sequencial.
Busca por Interpolação.
Ao se comparar os algoritmos de busca linear e de busca binária em um array ordenado com n elementos, verifica-se que a busca binária tem complexidade temporal O(log n ), enquanto a busca linear tem complexidade temporal O(n).
Certo
Errado
Em um algoritmo de busca binária, é necessário que o vetor esteja previamente ordenado para que a busca seja correta e eficiente.
Certo
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.
Certo
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:
O(1)
O(n)
O(log n)
O(n log n)


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
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
realiza a busca em profundidade, verificando cada nó e seus descendentes, sem qualquer mecanismo de corte.
verifica apenas os nós folha, pois estes contêm todas as chaves necessárias para a busca.
divide a árvore em sub árvores menores e realiza a busca sequencialmente em cada uma delas.
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?
Inserção de um novo nó e remoção de um nó.
Remoção de um nó e busca por um elemento.
Inserção de um novo nó e busca por um elemento.
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 é
todos os nós à esquerda de um nó contêm valores maiores que o valor do nó.
todos os nós à direita de um nó contêm valores menores que o valor do nó.
o nó raiz sempre tem o menor valor na árvore.
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ó.
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:
O(n);
O(n log n);
O(log n);
O(n^2);
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?
O(1).
O(n).
O(log n).
O(n log n).