Memória de Aula - professorleomir

Propaganda
TECNOLOGIA EM ANÁLISE E
DESENVOLVIMENTO DE SISTEMAS
ESTRUTURAS DE DADOS AVANÇADAS
Aula 14
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
1
Agenda
Transformação de Chave - Hashing
 Bibliografia
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
2
Transformação de Chave - Hashing
Indexação
Para redução do tempo de acesso a um registro o
mais indicado é o uso de índice para orientar a busca.
Por este motivo, um dos importantes componentes de
um arquivo é o diretório que abriga uma coleção de
um ou mais índices do arquivo.
Um índice é um mapeamento que associa a cada
chave, uma referência ao registro que a contém.
Assim, dada uma chave de pesquisa, o índice fornece
imediatamente a localização do registro
correspondente. Resumindo, índice é um par (chave,
endereço)
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
3
Transformação de Chave - Hashing
Indexação - continuação
Chave primária – Valores sempre únicos e não nulos.
Chaves comuns – Outros valores que podem se
repetir.
Ex. Arquivo de funcionários
Chave primária ID
Chave comum - Função
Arquivos que utilizam estrutura de indices é composto
por duas partes:
Arquivo de dados
Estrutura de índice associada.
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
4
Transformação de Chave - Hashing
Indexação - continuação
A cada inserção de um novo registro no arquivo de
dados, é inserido no índice uma referência a ele.
Para acessar um determinado registro, para
consulta ou alteração, é feita a pesquisa na
estrutura de índice para que sua localização no
disco seja encontrada e, em seguida, é feito o
acesso direto para leitura ou gravação
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
5
Transformação de Chave - Hashing
Indexação - continuação
Exemplo:
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
6
Transformação de Chave - Hashing
Indexação - continuação
 Objetivo do uso de indexação é melhorar o desempenho
no processo de inclusao de novos registros, pesquisa e
atualização.
 Indice é carregado na memória temporaria para melhorar
performance na procura por registros
 Não havendo movimentação dentro do arquivo, a
eficiência na inclusão pode ser facilmente obtida se os
registros forem inseridos sempre no final do arquivo.
Porém, a pesquisa será extremamente lenta, uma vez que
os registros não estão armazenados ordenados e a busca
será realizada através de uma leitura seqüencial dos
registro
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
7
Transformação de Chave - Hashing
Indexação - continuação
Exlclusão de registros
Lógica – Somente a referencia no índice é removida
Física – Processo de geração de cópia do arquivo com
somente os registros referenciados no índice.
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
8
Transformação de Chave - Hashing
Hashing
Método de busca por chaves que tem como maior
vantagem o fato de que, na média dos casos, é
possível encontrar a chave com apenas uma
operação de leitura.
Diferente da busca normal por comparação de
chaves .
Gera endereço de entrada de uma tabela a partir
onde se encontra a informação associada a chave,
a partir da chave .
Tabela – Tabela de dispersão
Hashing - espalhamento
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
9
Transformação de Chave - Hashing
Hashing
Método de busca por chaves que tem como maior
vantagem o fato de que, na média dos casos, é
possível encontrar a chave com apenas uma
operação de leitura.
Diferente da busca normal por comparação de
chaves .
Gera endereço de entrada de uma tabela a partir
onde se encontra a informação associada a chave,
a partir da chave .
Tabela – Tabela de dispersão
Hashing - espalhamento
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
10
Transformação de Chave - Hashing
Com base na Matéria exposta, leia o material
de apoio e responda os exercícios abaixo:
Explique funções de transformação de chaves.
Explique o que são colisões e como são
tratadas.
Explique o que é Hash linear.
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
11
Bibliografia
BIBLIOGRAFIA BÁSICA
AZEREDO, Paulo A. Métodos de Classificação de Dados. Rio de Janeiro: Ed.
1
Campus, 1996.
LAUREANO, M. Estrutura de Dados com Algoritmos e C. 1ª Ed. São Paulo: Brasport,
2
2008.
PEREIRA, Silvio do Lago. Estruturas de Dados Fundamentais – Conceitos e
3
Aplicações. 7.ed. São Paulo: Érica, 2008.
BIBLIOGRAFIA COMPLEMENTAR
KOFFMANN, E.B. Objetos, Abstração, Estrutura de Dados e Projetos. 1ª Ed. Rio de
4
Janeiro: LTC, 2008.
MORAES, Celso Roberto. Estruturas de Dados e Algoritmos.Uma abordagem didática.
5
Edição revista e Ampliada. São Paulo: Editora Futura, 2003.
WIRTH, Niklaus. Algoritmos e estruturas de dados. Rio de Janeiro: Prentice Hall do
6
Brasil, 1989.
ZIVIANI, N. Projeto de Algoritmos com implementações em Pascal e C , Editora
7
Pioneira, 1999.
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
12
Download