tecnologia em anÁlise e desenvolvimento de sistemas estruturas de dados avanÇadas aula 14 1...
TRANSCRIPT
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
ESTRUTURAS DE DADOS AVANÇADASAula 14
105/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
AgendaTransformação de Chave - HashingBibliografia
205/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingIndexaçã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)
305/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingIndexaçã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 IDChave comum - Função
Arquivos que utilizam estrutura de indices é composto por duas partes:Arquivo de dadosEstrutura de índice associada.
405/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingIndexaçã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
505/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingIndexação - continuação
Exemplo:
605/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingIndexaçã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
705/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - Hashing
Indexação - continuação
Exlclusão de registros
Lógica – Somente a referencia no índice é removidaFísica – Processo de geração de cópia do arquivo com
somente os registros referenciados no índice.
805/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingHashing
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ãoHashing - espalhamento
905/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingHashing
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ãoHashing - espalhamento
1005/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Transformação de Chave - HashingCom 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.
1105/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com
Bibliografia
05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 12
BIBLIOGRAFIA BÁSICA
1AZEREDO, Paulo A. Métodos de Classificação de Dados. Rio de Janeiro: Ed. Campus, 1996.
2LAUREANO, M. Estrutura de Dados com Algoritmos e C. 1ª Ed. São Paulo: Brasport, 2008.
3PEREIRA, Silvio do Lago. Estruturas de Dados Fundamentais – Conceitos e Aplicações. 7.ed. São Paulo: Érica, 2008.
BIBLIOGRAFIA COMPLEMENTAR
4KOFFMANN, E.B. Objetos, Abstração, Estrutura de Dados e Projetos. 1ª Ed. Rio de Janeiro: LTC, 2008.
5MORAES, Celso Roberto. Estruturas de Dados e Algoritmos.Uma abordagem didática. Edição revista e Ampliada. São Paulo: Editora Futura, 2003.
6WIRTH, Niklaus. Algoritmos e estruturas de dados. Rio de Janeiro: Prentice Hall do Brasil, 1989.
7ZIVIANI, N. Projeto de Algoritmos com implementações em Pascal e C , Editora Pioneira, 1999.