A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Hash tables Fábio Nakano.

Apresentações semelhantes


Apresentação em tema: "Hash tables Fábio Nakano."— Transcrição da apresentação:

1 Hash tables Fábio Nakano

2 Bibliografia CLR Ziviani

3 Conjuntos dinâmicos Operações Aplicações Insere Busca Elimina
dicionários; tabelas de símbolos; índices;

4 Em um vetor

5 Listas Ligadas Classe LinkedList Complexidade de tempo para
inserção (no início / final) busca remoção (no início / final)

6 Espalhar – uma bagunça organizada
Sei exatamente onde está cada folha de papel na minha mesa!!! É uma questão de saber onde procurar !!!

7 Endereçamento direto Imagine que possa se espalhar elementos por toda a memória... ... e recuperá-los em tempo constante!!!

8 Calculando chaves No computador qualquer coisa é codificada e representada como conteúdo de memória. Este conteúdo por sua vez, pode ser visto como números. int ascii_of_A = (int)'A';  // retorna 65   int calculaChave (String txt) {        int h=0;        for (int i = 0; i < txt.length(); i++) {                int chr = txt.charAt(i);                h+= chr;         }  return (h%103)

9 Hash É o jeito mais eficiente de saber onde procurar.
Calcula um índice baseado na chave que se quer buscar , h(chave). O cálculo tem que ser feito em tempo constante. Para este índice ser “bom”, precisa ter a propriedade de espalhar os elementos uniformemente.

10 E em caso de colisão??? Encadeamento...

11 Hash simples e uniforme com colisões resolvidas por encadeamento
fator de carga (ou taxa de ocupação) Complexidade de uma busca sem sucesso Complexidade (média de pior caso) de uma busca com sucesso

12 Como gerar “boas” funções
Método da divisão Método da multiplicação h(k)=k mod m este método funciona melhor quando m é primo problema: primos grandes sucessivos são muito distantes entre si. h(k)=m*(A*k-floor(A*k)) há valores de A melhores que outros. Um deles é a chamada “proporção áurea” ou número de ouro.


Carregar ppt "Hash tables Fábio Nakano."

Apresentações semelhantes


Anúncios Google