Questões de Concurso
Sobre algoritmos de busca em algoritmos e estrutura de dados
Foram encontradas 131 questões

Ao final da execução do algoritmo da Figura 1, qual será o valor da variável "result" se for informado o número 4 na leitura da variável "num"?
Assinale a opção em que é apresentada a sequência correta de números correspondente à varredura da árvore binária representada a seguir quando esta estiver sendo percorrida em profundidade por meio da utilização da técnica do tipo pré-ordem.

int busca (int [ ] vet, int elem)
Isto é, a função busca recebe um array de números inteiros (vet) e um número inteiro (elem) como parâmetros, e retorna um número inteiro. Caso exista em vet um inteiro igual a elem, a função retornará o índice desse inteiro no array; caso contrário, a função retornará -1.
O algoritmo de busca binária produz um índice (ind) a cada iteração sobre o array, tendo em vista comparar o elemento que se deseja procurar (elem) com o elemento vet [ ind ]. Isto é:
if ( vet [ ind ] == elem ) return ind;
No comando acima, diz-se que houve uma visita ao elemento vet [ ind ].
Admita que a função busca foi chamada por meio do comando a seguir:
int resp = busca (vet, 50);
Sabendo-se que os elementos visitados foram 54, 17, 33 e 50, nesta ordem, qual array foi passado como parâmetro para a função busca?
É um algoritmo de busca em vetores que segue o paradigma de divisão e conquista.

I. Percorrer a lista comparando a chave com os valores dos elementos em cada uma das posições.
II. Se a chave for igual à algum dos elementos, retornar a posição correspondente na lista.
III. Se a lista toda for percorrida e a chave não for encontrada, retornar o valor −1.
Estão corretas as afirmativas.
Considerando o uso de um algoritmo de busca sequencial otimizado, partindo da esquerda para a direita, e as sequências hipotéticas das senhas da fila de atendimento não preferencial e suas regras de ordenação, segundo as quais quem está à esquerda é atendido antes de quem está à direita, o menor número de comparações para o gerente conhecer o resultado de sua busca ocorre em
I - Um array de 1.000 números inteiros ordenados de forma decrescente; II - Uma lista encadeada desordenada e alocada dinamicamente, cujos 1.000 nós contêm strings (uma string por nó); III - Uma lista encadeada, alocada dinamicamente, cujos 1.000 nós contêm números decimais (um número double por nó) ordenados de forma ascendente.
Levando-se em consideração a exequibilidade e a eficiência, quais métodos de busca devem ser empregados, respectivamente, em cada um dos três casos acima?
Formalmente, um algoritmo de busca é aquele que aceita um argumento e tenta encontrar o registro cuja chave seja igual ao argumento. Assim, analisando o seguinte passo a passo de um algoritmo de busca, é correto afirmar que se trata de um algoritmo
1. Defina que min= 1 e max = n.
2. Encontre a média de max e min, arredondando para baixo para que seja um inteiro.
3. Se você tiver adivinhado o número certo. Pare – Fim algoritmo!
4. Se o palpite foi muito baixo, defina o min como 1 a mais do que o palpite.
5. Se o palpite foi muito alto, defina o max como 1 a menos do que o palpite.
6. Volte ao passo dois.

O trecho de código apresentado implementa uma busca