Buscar

exec04-algoritmos-busca

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

ANÁLISE DE ALGORITMOS 
Bacharelado em Ciências da Computação 
 
 
 
Lista de Exercícios 04 
Algoritmos de Busca 
 
 
1. Explique por que a busca binária: 
a. É mais eficiente do que a busca sequencial. 
b. Só pode ser efetuada em um array. 
 
 
2. Considere a lista linear sequencial de inteiros no vetor, a seguir. 
 
2 4 6 8 10 12 14 16 
 
a. Considerando o método da busca binária: 
1. Quantas comparações (e com quais chaves) são necessárias na busca pelo valor 15? 
2. Idem para o inteiro 6. 
b. Considerando a Busca Sequencial: 
1. Quantas comparações (e com quais chaves) são necessárias pelo valor 15? 
2. Idem para o inteiro 6. 
c. Generalize o número máximo de comparações na Busca Binária e na Busca Sequencial, 
considerando o tamanho do vetor igual a n. 
 
3. Qual é o pior tempo para inserir n elementos em uma tabela hashing inicialmente vazia, 
com colisões sendo resolvidas por listas encadeadas? Qual seria o melhor caso? 
 
4. Considerando que as chaves inseridas em um Hashing não provocaram colisão, 
independente do algoritmo, podemos dizer que a pesquisa por uma chave na tabela será 
de ordem de complexidade constante, ou seja, T(n) = 1? Podemos dizer que este algoritmo 
é ótimo? Justifique. 
 
5. No processo de pesquisa binária em um vetor ordenado, os números máximos de 
comparações necessárias para se determinar se um elemento faz parte de vetores com 
tamanhos 50, 1.000 e 300 são, respectivamente 
a. 5, 100 e 30 
b. 6, 10 e 9 
ANÁLISE DE ALGORITMOS 
Bacharelado em Ciências da Computação 
 
 
c. 8, 31 e 18 
d. 10, 100 e 30 
e. 25, 500 e 150 
 
 
6. Um programador propôs um algoritmo não-recursivo para o percurso em pré-ordem de 
uma árvore binária com as seguintes características. 
• Cada nó da árvore binária é representado por um registro com três campos: chave, que 
armazena seu identificador; esq e dir, ponteiros para os filhos esquerdo e direito, 
respectivamente. 
• O algoritmo deve ser invocado inicialmente tomando o ponteiro para o nó raiz da árvore 
binária como argumento. 
• O algoritmo utiliza push() e pop() como funções auxiliares de empilhamento e 
desempilhamento de ponteiros para nós de árvore binária, respectivamente. 
A seguir, está apresentado o algoritmo proposto, em que λ representa o ponteiro nulo. 
 
 
Com base nessas informações e supondo que a raiz de uma árvore binária com n nós seja passada 
ao procedimento pré-ordem(), julgue os itens seguintes. 
I. O algoritmo visita cada nó da árvore binária exatamente uma vez ao longo do percurso. 
II. O algoritmo só funcionará corretamente se o procedimento pop() for projetado de forma a 
retornar λ caso a pilha esteja vazia. 
III. Empilhar e desempilhar ponteiros para nós da árvore são operações que podem ser 
implementadas com custo constante. 
IV. A complexidade do pior caso para o procedimento pré-ordem() é O(n). 
ANÁLISE DE ALGORITMOS 
Bacharelado em Ciências da Computação 
 
 
Indique a opção correta. 
a. Apenas um item está certo. 
b. Apenas os itens I e IV estão certos. 
c. Apenas os itens I, II e III estão certos. 
d. Apenas os itens II, III e IV estão certos. 
e. Todos os itens estão certos. 
 
7. Em relação à pesquisa sequencial e binária, assinale a alternativa correta. 
a. A pesquisa binária percorre no pior caso lgn elementos 
b. A pesquisa binária pode ser feita sobre qualquer distribuição dos elementos 
c. A pesquisa sequencial exige que os elementos estejam completamente ordenados 
d. A pesquisa sequencial percorre todos os elementos para encontrar a chave 
 
 
8. Considere as seguintes afirmativas sobre o algoritmo de pesquisa binária: 
I. a entrada deve estar ordenada 
II. uma pesquisa com sucesso é feita em tempo logarítmico na média 
III. uma pesquisa sem sucesso é feita em tempo logarítmico na média 
IV. o pior caso de qualquer busca é logarítmico 
As afirmativas corretas são: 
a. Somente I e II 
b. Somente I, II e III 
c. Somente II e III 
d. Somente III e IV 
e. Todas as afirmativas estão corretas

Continue navegando