

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.
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).
Ao trabalharmos com algoritmos de busca, é importante considerar o tempo de execução do algoritmo, já que isso pode afetar sua eficiência e desempenho. A busca linear e a busca binária são dois dos algoritmos mais comuns de busca, e é importante entender as diferenças entre eles, especialmente no que diz respeito ao tempo de execução. Em comparação com a busca linear, a busca binária tem uma complexidade temporal:
Depende do tamanho da estrutura de dados.
Maior.
Menor.
Depende da quantidade de iterações realizadas.
Igual.
Para a busca de um determinado valor em um vetor de elementos numéricos, como funciona o algoritmo de busca binária?
O algoritmo converte os elementos do vetor para a representação binária, realiza uma comparação bit a bit para determinar se o padrão binário correspondente ao valor buscado existe ou não no vetor e, em caso positivo, realiza uma varredura para determinar a posição ocupada no vetor pelo elemento com o valor buscado.
O algoritmo opera tanto em vetores ordenados quanto em não ordenados, por meio da comparação do valor buscado com o elemento central do vetor, para determinar se a busca prosseguirá na metade da esquerda ou na metade da direita do vetor, até que todas as ocorrências do valor buscado sejam encontradas.
O algoritmo realiza uma varredura do vetor, comparando cada um de seus elementos com o valor buscado e anotando, em um mapa de bits auxiliar, todas as posições do vetor em que o valor buscado foi encontrado; o mapa de bits é retornado como resultado da execução do algoritmo.
O algoritmo opera em vetores ordenados e funciona por meio da comparação do valor buscado com o valor do elemento central do vetor para determinar se a busca prosseguirá, recursivamente, na metade da esquerda ou na metade da direita do vetor, até que o valor buscado seja encontrado ou até que se descubra que o valor buscado não existe no vetor.
O algoritmo de busca binária é mais eficiente que o de busca linear, para um mesmo vetor, desde que
o vetor esteja ordenado.
o algoritmo explore o processamento repetitivo.
o algoritmo trabalhe em um formato circular de repetição.
o algoritmo percorra o vetor verificando se o elemento desejado está presente.
o tamanho do vetor seja pequeno.
Para a aplicação do algoritmo de pesquisa binária é necessário (a)
uma função recursiva.
uma função iterativa.
uma quantidade de registros inferior a 1024.
que os registros estejam em ordem.
uma quantidade de registros superior a 1024.
Assinale a alternativa que indica corretamente o algoritmo de busca de um número (x) que o método abaixo realiza sobre um vetor (valores) de números inteiros.
public void tipodebusca(int x, int[]
valores) {
int posicaoi = 0;
int posicaom = 0;
int posicaof = valores.length - 1;
while(posicaoi <= posicaof) {
-posicaom = (posicaof + posicaoi) / 2;
if(numeros[posicaom] == x) {
System.out.println(“O valor está na
posição: “ + posicaom);
break;
}
if(valores[posicaom] < x) {
posicaoi = posicaom + 1;
} else {
posicaof = posicaom - 1;
}
}
if(posicaoi > posicaof) {
System.out.println(“Não encontrou o
valor “ + x);
}
-}
}
Busca Binária
Bubble Search
Busca Sequencial
Busca Aleatória
Busca Rápida
Usando a notação Big-O para representar o custo computacional, é correto afirmar que o tempo de execução da busca binária nunca é pior que
O(n)
O(log2n)
O(n/2)
O(2ⁿ)
O(n³)
Para lidar numericamente com os dados categóricos, uma codificação binária proporciona uma conversão de cada categoria de resposta para uma sequência de dígitos binários, em que cada dígito binário representa uma variável numérica que assume valores 0 ou 1. Na situação em tela, uma possível codificação binária é exemplificada na tabela abaixo.
Observação | D1 | D2 | D3 |
1 | 1 | 0 | 0 |
2 | 0 | 1 | 0 |
3 | 0 | 0 | 1 |
4 | 0 | 0 | 1 |
5 | 0 | 0 | 0 |
6 | 1 | 0 | 0 |
Certo
Errado
A complexidade do algoritmo de busca binária numa lista ordenada, com N elementos, é
O (log N)
O (N log N)
O (N)
O (N/2)
O (N2)
A propriedade de árvore de busca binária nos permite imprimir todas as chaves em uma árvore de busca binária em sequência ordenada por meio de um simples algoritmo recursivo. Analise o código a seguir e assinale a alternativa que melhor define esse tipo de busca.
void Busca (arvore r) {
____ if (r != NULL) {
______ Busca (r->esq);
______ printf ("%d\n", r->info);
______ Busca (r->dir);
____ }
___ }
Busca filtrada.
Busca em pós-ordem.
Busca em em-ordem.
Busca balanceada.
Busca em pré-ordem.
O tempo de execução de um algoritmo é importante na avaliação de problemas e soluções computacionais. Esse fator está estreitamente ligado à complexidade do algoritmo e ao número de elementos de dados que serão processados no pior caso.
Numa busca num array com N elementos ordenados, assinale a complexidade algorítmica para a localização de um determinado elemento por meio da busca binária.
2 . N
log N
N
N . log N
N2
Suponha uma estrutura de dados do tipo vetor, a qual possui algumas centenas de elementos ordenados. Buscas por valores dos elementos desse vetor são constantes e, portanto, é necessário utilizar um método de busca eficiente. Das seguintes opções, qual seria o método de busca ou o algoritmo mais adequado?
Busca linear.
Busca binária.
Bubble sort.
Quick sort.
Busca sequencial.
Considere uma lista ordenada, contendo 20 chaves únicas, na qual seja realizada uma busca binária.
Assinale o número máximo de acessos necessários para encontrar uma determinada chave.
4
5
6
10
20
Considere um conjunto de 65.536 chaves ordenadas, distintas entre si, armazenadas num array.
Com relação ao processo de busca binária, assinale a opção que indica o número máximo de acessos ao array necessários para localizar uma determinada chave qualquer.
10
16
64
256
32.768
Em conformidade com CORMEN et al., considerar uma estrutura de dados ligada, na qual cada nó é um objeto. Além de uma chave e de dados satélites, cada nó contém atributos “esquerda”, “direita” e “p”, que apontam para os nós correspondentes ao seu filho à esquerda, ao seu filho à direita e ao seu pai, respectivamente. Essa estrutura refere-se à:
Árvores de busca binárias.
Pilhas.
Filas.
Listas ligadas.
Arrays.
Considere o número binário de 8 bits 00011110 e assinale a opção que apresenta sua forma negativa, utilizando o sistema excesso 2m-1 .
10011110
11100001
11100010
01100111
01100010
Em uma lista pode ser realizada uma pesquisa binária a fim de reduzir o tempo de processamento. Qual requisito deve ser atendido para que a pesquisa binária seja realizada corretamente?
A lista precisa conter um número par de elementos.
A lista precisa ser do tipo duplamente encadeada.
Considere uma árvore binária de busca (BST) com n (n>3) níveis (o nó raiz está no nível 1), 2n -1 nós e todas as chaves diferentes. Suponha, ainda, que algum dos pais de duas folhas seja removido da árvore e, mais tarde, uma chave com o mesmo valor da chave do nó removido seja inserida na árvore.
Quantas são as comparações necessárias para fazer a busca e encontrar o nó cuja chave foi removida e depois reinserida?
Com base nos conhecimentos sobre métodos de busca, assinale a alternativa correta.
A busca binária exigirá uma comparação extra se o número de elementos for dobrado.
A busca binária recursiva possui tempo de execução quadrático.
A busca linear possui tempo de execução da ordem de O(log n).
Em vetores ordenados, a busca linear é mais eficiente que a busca binária.
O pior caso da busca binária é quando cada elemento do vetor precisa ser verificado.
Avalie se são verdadeiras (V) ou falsas (F) as afirmativas a seguir.
I O método de busca “pesquisa binária” necessita de um ordenamento prévio do vetor.
II O método “pesquisa binária” possui o tempo de busca maior que o método “busca sequencial”.
III O método “busca sequencial” é mais indicado quando se sabe antecipadamente que a maior parte dos registros necessita ser pesquisada.
As afirmativas I, II e III são, respectivamente: