tecnologia em anÁlise e desenvolvimento de sistemas estruturas de dados avanÇadas aula 14 1...

12
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com

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

Page 2: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com

AgendaTransformação de Chave - HashingBibliografia

205/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 3: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 4: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 5: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 6: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com

Transformação de Chave - HashingIndexação - continuação

Exemplo:

605/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 7: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 8: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 9: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 10: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 11: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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

Page 12: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 14 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.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.