algoritmos para automação e sistemas quinta lista de...

2

Click here to load reader

Upload: trankien

Post on 29-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos para Automação e Sistemas Quinta Lista de Exercícioshome.ufam.edu.br/lucascordeiro/aas/exercicios/LE05-AAS.pdf · 2015-06-23 · Microsoft Word - LE05-AAS.docx Author:

1

Algoritmos para Automação e Sistemas

Quinta Lista de Exercícios

1) Considere um conjunto dinâmico S que é representado por uma tabela de endereço direto

T de comprimento m. Descreva um procedimento que encontre o elemento máximo de S.

Qual é o desempenho de seu procedimento no pior caso?

2) Demonstre a inserção das chaves 5, 28, 19, 15, 20, 33, 12, 17, 10 em uma tabela hash com

colisões resolvidas por encadeamento. Seja a tabela com 9 posições, e seja a função hash

h(k)=k mod 9.

3) Demonstre a inserção das chaves 45, 18, 56, 115, 41, 133, 121, 93 em uma tabela hash de

8 posições usando sondagem linear e outra com sondagem quadrática.

4) Temos uma tabela hash T de tamanho 13. Construa T para armazenar a sequência <13, 79,

69, 72, 98, 14>. Considere os seguintes valores para h2(k) e m.

a) Pemitir que m seja uma potência de 2 e projetar h2 de modo que ele sempre produza

um número ímpar.

b) Permitir que m seja primo e projetar h2 de forma que ele sempre retorne um inteiro

positivo menor que m.

Mostre a sequência de inserções conforme visto em sala de aula.

5) Um vetor de bits é simplesmente um arranjo de bits (0s e 1s). Um vetor de bits de

comprimento m ocupa muito menos espaço que um arranjo de m ponteiros. Descreva como

usar um vetor de bits para representar um conjunto dinâmico de elementos distintos sem

dados satélites. As operações de dicionário devem ser executadas em tempo O(1).

6) O Professor Marley apresenta a hipótese de que é possível obter ganhos substanciais de

desempenho se modificarmos o esquema de encadeamento de tal modo que cada lista seja

mantida em sequência ordenada. Como a modificação do professor afeta o tempo de

execução para pesquisas bem-sucedidas, pesquisas sem sucesso, inserções e eliminações.

7) Considere uma tabela hash de tamanho m=1000 e a função hash correspondente h(k) igual

a m(kA mod 1) para ( )

215 −

=A . Calcule as localizações para as quais as chaves 61, 62,

63, 64 e 65 estão mapeadas.

8) Escreva o pseudocódigo para HASH-DELETE da forma descrita na sala de aula e

modifique HASH-INSERT para manipular o valor especial DELETED.

9) Implemente uma tabela hash com listas encandeadas e outra com o endereçamento aberto.

Para um mesmo conjunto de entrada, qual seria o consumo de memória se implementarmos

Page 2: Algoritmos para Automação e Sistemas Quinta Lista de Exercícioshome.ufam.edu.br/lucascordeiro/aas/exercicios/LE05-AAS.pdf · 2015-06-23 · Microsoft Word - LE05-AAS.docx Author:

2

um hash de 1M, 10M e 100M de posições (e elementos de entrada) usando o encadeamento e

o endereçamento aberto?

10) Considere uma tabela hash de endereço aberto com hash uniforme. Forneça os limites

superiores sobre o número esperado de sondagens em uma pesquisa malsucedida e sobre o

número esperado de sondagens em uma pesquisa bem sucedida quando o fator de carga é 3/4

e quando ele é 7/8.

11) A Fala! é uma grande companhia telefônica que precisa identificar rapidamente os nomes

de quem faz chamadas telefônicas:

• Dado um número de telefone (de 8 digitos), encontrar o nome de quem está ligando

• Os números de telefone se encontram na faixa de 0 a r = 108 -1

• A busca deve ser bastante eficiente!!!

Compare a eficiência da tabela hash com encadeamento e com hash duplo. Qual delas você

sugeriria para a companhia telefônica fala!?

Data de entrega: 02 de julho de 2015 (quinta-feira).

Após esta data será descontado 2 pontos por dia de atraso.

A lista de exercícios deve ser resolvida e entregue individualmente.

23/06/2015