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

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

Hashing Extensível o espaço de endereços disponíveis não é fixo utilizado em hashing de arquivos dinâmicos (mudam de tamanho) ideia: combinar técnicas.

Apresentações semelhantes


Apresentação em tema: "Hashing Extensível o espaço de endereços disponíveis não é fixo utilizado em hashing de arquivos dinâmicos (mudam de tamanho) ideia: combinar técnicas."— Transcrição da apresentação:

1 Hashing Extensível o espaço de endereços disponíveis não é fixo utilizado em hashing de arquivos dinâmicos (mudam de tamanho) ideia: combinar técnicas de hashing + árvore de busca de base (trie)

2 Trie: (able, abrahms, adams, anderson, andrews, baird) Exemplo 1: a b b l r n d e r able abrahms anderson andrews baird 26 letras do alfabeto, a-z máximo fator de subdivisão de um nó = 26 (base 26) adams d

3 Exemplo : base 10 Trie: (1136, 1153, 1629, 3182, 7263, 7268, 7521)

4 Hashing e tries Trabalha-se com árvores de base 2 As chaves nas folhas constituem buckets contendo chaves A B C Parte do Bucket endereço 01 A 10 B 11 C

5 Problema: Como representar uma trie de modo a se obter uma busca com complexidade constante O(1) ? Ideia : Considerar um vetor de endereços hashing, com cada elemento apontando para um bucket, e obtido a partir da definição de uma árvore binária completa dos respectivos endereços.

6 A B C A B C árvore binária completa

7 A B C C B A apontador extra para eventual overflow de A vetor de endereços 2 níveis na árvore binária vetor de tamanho 4

8 C B A apontador extra para eventual overflow de A C B A D overflow de A

9 Exemplo: C B A A B C Overflow do bucket B subdividir o ramo da árvore conduzindo ao bucket B; criar a árvore binária completa; definir o vetor de endereços

10 Subdivisão do ramo da árvore A B C D 0

11 A B C D 0 3 níveis na árvore binária vetor de tamanho 8 Criação da árvore binária completa

12 A B C D Definição do vetor de endereços

13

14 Busca por Casamento Parcial evita definição de listas invertidas na consulta de registros por chaves secundárias baseia-se no conceito de códigos de assinaturas

15 Exemplo de registro Aluno: RA Nome Cidade CR Renda Familiar (RF) assinaturas disjuntas (diferentes funções de hashing) s1s2s3s bits Os bits de cada campo dos registros terão valor 1 de acordo com as respectivas funções de hashing

16 Exemplos de assinaturas: (para bits de 1 a 16) (para bits de 17 a 21)

17 (para bits de 22 a 26) (para bits de 27 a 32)

18 A busca Exemplo de consulta: RF = 3000,00 AND CR = 8 AND Cidade = Campinas s1s2s3s Assinatura da consulta: Extrair todos os registros cuja assinatura contém 1 na posição indicada pela assinatura de consulta; verificar os falsos positivos devido a oclusões da função de hashing Extrair registros que respondem positivamente à pergunta:

19 Árvores de Assinaturas Combina as assinaturas de registros numa estrutura multínivel de árvores, através de um OR de diferentes subconjuntos destas assinaturas Otimiza o processo de busca secundária por assinaturas de registros

20 assinaturas nível 1 (adicionadas aos registros originais) assinaturas nível 2 assinaturas nível 3 OR sub-árvore a ser verificada na consulta assinatura da consulta:


Carregar ppt "Hashing Extensível o espaço de endereços disponíveis não é fixo utilizado em hashing de arquivos dinâmicos (mudam de tamanho) ideia: combinar técnicas."

Apresentações semelhantes


Anúncios Google