Questões de Algoritmos e Estrutura de Dados - Algoritmos de Busca para Concurso

Foram encontradas 97 questões

Q828665 Algoritmos e Estrutura de Dados
Para poder ser aplicado, o algoritmo de pesquisa binária exige que os elementos do array:
Alternativas
Q803089 Algoritmos e Estrutura de Dados
Analise o trecho de código a seguir. Avariável x representa o elemento de referência passado como parâmetro while( inicio <= termino ) { meio = ( inicio + termino ) / 2; if( a[ meio ].compareTo( x ) < 0 ) inicio = meio + 1; else if( a[ meio ].compareTo( x ) > 0 ) termino = meio - 1; else return meio; } A qual algoritmo esse código pertence?
Alternativas
Q800889 Algoritmos e Estrutura de Dados

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:

Alternativas
Q768670 Algoritmos e Estrutura de Dados

Julgue o item seguinte, a respeito de estruturas em programação e de arquiteturas de bancos de dados.

No algoritmo denominado busca em amplitude, a árvore é percorrida visitando-se todos os nós de um ramo até se atingir os nós terminais, repetindo-se o processo em cada um dos ramos.

Alternativas
Q685628 Algoritmos e Estrutura de Dados

O mergesort é um algoritmo de ordenação do tipo dividir-para-conquistar. Sua ideia básica consiste em dividir o problema em vários subproblemas, e resolver esses subproblemas por meio da recursividade e, em seguida,após todos os subproblemas terem sido resolvidos,ocorre a conquista, que é a união das resoluções dos subproblemas. O algoritmo mergesort, apresentado em seguida, está codificado em C/C++.Esse algoritmo ordena o vetor de inteiros a[p],..., a[r](onde, p<r) usando um vetor auxiliar b[p],..., b[r].O vetor a[ ] é dividido recursivamente ao meio em duas instâncias menores, que são ordenadas e então colocadas

juntas, ordenando todo o vetor. No código estão faltando as linhas que fazem a divisão por recursão (linhas 7 e 8) e as linhas que concretizam a fase de conquista, unindo todas as intercalações no vetor principal (linhas 11 e 12).


1.   voidmergesort(int a[], int p, int r)

2.   {

3.   inti,j,k,m;

4.   if (r > p)

5.   {

6.   m = (r + p)/2;

7.   …

8.   …

9.   for (i = m+1; i> p; i--) b[i-1] = a[i-1];

10. for (j = m; j < r; j++) b[r+m-j] = a[j+1];

11.  ...

12.  ...

13.  }  

14.  }

As linhas 7,8, 11 e 12, que complementam o código do mergesort de maneira CORRETA, são:
Alternativas
Respostas
46: B
47: A
48: B
49: E
50: A