Aula 31: Encadeamento exterior. Modelo de encadeamento exterior. Complexidade do encadeamento exterior

Documentos relacionados
Aula 32: Encadeamento interior. Modelo de encadeamento interior. Algoritmo de busca por encadeamento interior

HASHING HASHING 6/10/2008

Aula 30: Tabelas de dispersão. Conceitos e princípios de funcionamento

Tabela Hash. Disciplina: Estruturas de Dados Professora: Camila Taumaturgo M.Sc.

HASHING Hashing Motivação - Acesso Direto:

Universidade de São Paulo

Estruturas de Dados Tabelas de Espalhamento

MC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco.

TABELAS HASH. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Hashing. Prof. Josenildo Silva IFMA 2014

Tabelas Hash. Prof. Túlio Toffolo BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I

HASHING HASHING HASHING HASHING. HASHING - Função hash - Propriedades HASHING. Notas de aula da disciplina IME Estruturas de Dados I

Tabelas Hash O Que é uma Tabela Hash? O Que é uma Tabela Hash? O Que é uma Tabela Hash? Inserindo um Novo Registro. O Que é uma Tabela Hash?

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015

TABELAS DE DISPERSÃO/HASH

Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou

Pesquisa em Memória Primária. Prof. Jonas Potros

HASHING. Árvores de Busca: Atualização/Busca - caso médio: O(log n) Atualização/Busca - pior caso: O(log n)

Dicionários. TAD Orientado a conteúdo

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 9

Algoritmos e Estrutura de Dados. Aula 11 Estrutura de Dados: Tabelas Hash Parte II Prof. Tiago A. E. Ferreira

Algoritmos de pesquisa. Tabelas de dispersão/hash

Transformação de Chave. (Hashing)

SCC0601 Introdução à Ciência da Computação II. Prof. Lucas Antiqueira

Aula 20: Árvores Binárias de Busca. Algoritmos de busca e inserção

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri

Hashing: conceitos. Hashing

A inserção da chave 6 da árvore acima resulta na árvore abaixo.

Pesquisa em Memória Primária Hashing

Pesquisa em memória primária: hashing. Algoritmos e Estruturas de Dados II

TABELA HASH. Prof. André Backes. Princípio de funcionamento dos métodos de busca

Tabelas Hash. Prof. Túlio Toffolo BCC202 Aula 21 Algoritmos e Estruturas de Dados I

Transformação de Chave - Hashing

Dicionário de Dados Organização Direta de Arquivos

Hashing convencional...

Acesso Sequencial Indexado

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Cálculo de Endereço (hashing) Pesquisa de Dados em Tabelas. Função de Cálculo de endereço chave. Eficiência

Estruturas de Dados I

Tabelas de dispersão/hash

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Estrutura de dados - Listas Encadeadas

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...

Árvores Binárias de Busca (ABB) 18/11

Árvore Binária de Busca Ótima

ANÁLISE E PROJETO DE BANCO DE DADOS

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres

Aula 07: Algoritmos de busca e Listas encadeadas

Hashing. Prof Márcio Bueno. /

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Dicionários. Prof. César Melo

Métodos de Busca Parte 1

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I. Aula 11 Árvores AVL. Prof. Jesús P. Mena-Chalco.

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Estruturas de Dados. Profº Carlos Alberto Teixeira Batista

Hashing Endereçamento Direto Tabelas Hash

As Listas são simples de se implementar, mas, com um tempo médio de acesso T = n/2, tornando-se impraticáveis para grandes quantidades de dados.

Estrutura de Dados. ! Listas lineares. ! Como manipulá-las: ! estática. ! dinâmicas. ! pilhas. ! filas

UNIVERSIDADE DA BEIRA INTERIOR

Aula 13: Listas encadeadas (estruturas lineares)

Arquivos de Acesso Direto. Vanessa Braganholo

Endereçamento Aberto

TAD dicionário. Métodos do TAD dicionário:

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Algoritmos e Estruturas de Dados II IEC013

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:

Organização de Arquivos. SCE-183 Algoritmos e Estruturas de Dados II

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Algoritmos e Estruturas de Dados: Tabela de Dispersão com Encadeamento

Matrizes esparsas: definição

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

UNIVERSIDADE DA BEIRA INTERIOR

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Árvores Binárias de Busca (ABB) 18/11

Tabelas de Dispersão. Estrutura de Dados e Algoritmos

Hashing externo. Graça Nunes. Fonte: Folk & Zoelick, File Structures

Algoritmos de Busca em Vetores

Algoritmos e Estruturas de dados

Carlos Eduardo Batista. Centro de Informática - UFPB

Implemente a função de remoção de uma chave na tabela hashing fechada em questão. void remover(tabela tabela, int n) {

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Tabelas de dispersão

Introdução Métodos de Busca Parte 1

Vamos considerar um arquivo de dados que armazena uma lista de alunos. Cada registro é um objeto com um número de matrícula e um nome.

UNIVERSIDADE DA BEIRA INTERIOR

Tabelas de Dispersão. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1

Pré-Cálculo. Humberto José Bortolossi. Aula de maio de Departamento de Matemática Aplicada Universidade Federal Fluminense

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Pilhas e Filas. Nádia Félix e Hebert Coelho

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO ANÁLISE DE ALGORITMOS. LISTA DE EXERCÍCIOS (Parte B)

Lista de Exercícios 04

Aula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler

Tabelas de Dispersão. Tabela de Dispersão

MCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo

Transcrição:

31.1 Aula 31: Encadeamento exterior Conceito de encadeamento Modelo de encadeamento exterior Complexidade do encadeamento exterior

31.2 Introdução Recordando: uma colisão ocorre quando duas chaves diferentes x e y possuem endereços-base iguais, isto é: Para estudar a quantidade de colisões, define-se o fator de carga de uma tabela de dispersão T O fator de carga é denotado por α e é calculado pela expressão Observe que quanto maior o valor de α, mais colisões ocorrerão

31.3 Encadeamento O encadeamento é um método simples de tratamento de colisões Este método consiste em armazenar chaves sinônimas (que têm o mesmo endereço-base) em uma lista encadeada Estas listas encadeadas podem estar implementadas de duas formas listas que estão armazenadas no exterior da tabela T (método do encadeamento exterior) listas que compartilham o mesmo espaço da tabela T (método do encadeamento interior)

31.4 Encadeamento exterior Consiste em manter m listas encadeadas, uma para cada compartimento (endereço-base) de T A tabela T converte-se então em uma tabela de nós-cabeça para as listas encadeadas Observe o exemplo com h(x) = x mod 23 e as chaves 46, 71, 49, 26, 118, 97, 44, 182, 68: T 0 1 2 3 4 5 46 71 49 97 26 118 21 22 44 68 182

31.5 Algoritmo para encadeamento exterior Busca de uma chave x em T Calcula-se h(x) = x mod m e procura-se x na lista encadeada correspondente ao endereçobase h(x) Pior caso: O(n) Buscar Voltar

31.6 Algoritmo para encadeamento exterior Inserção de uma chave x em T Faz-se a busca de x (como no item anterior) Se x não foi encontrada, o algoritmo de busca parou no último nó da lista encadeada correspondente ao endereço-base h(x) Insere-se então a chave x no final desta lista encadeada Pior caso: O(n) (como no caso da busca)

31.7 Exercício Deduza o funcionamento do algoritmo de remoção de uma chave x numa tabela T implementada com encadeamento exterior. Conclua que o pior caso é O(n), como na busca

31.8 Complexidade média da busca no método de encadeamento exterior Teorema 1: Numa tabela de dispersão T que utiliza função de dispersão uniforme e na qual as colisões são tratadas por encadeamento exterior, o número médio de comparações efetuadas numa busca sem sucesso é igual a α. Demonstração: Seja CM1(T) o número médio de comparações procurado. Seja L i a lista encadeada correspondente ao endereço-base i de T. Então: número total de chaves probabilidade de acessar Li comprimento de Li

31.9 Complexidade média da busca no método de encadeamento exterior Teorema 2: Numa tabela de dispersão T que utiliza função de dispersão uniforme e na qual as colisões são tratadas por encadeamento exterior, o número médio de comparações efetuadas numa busca com sucesso é igual a Demonstração: Seja CM2(T) o número médio de comparações procurado. Observe: o número médio de comparações para localizar uma chave x com sucesso na lista L i à qual ela pertence é igual ao comprimento médio de L i no momento em que x foi incluída

31.10 Complexidade média da busca no método de encadeamento exterior Continuação da demonstração: Portanto, se foram incluídas j chaves antes de x, o comprimento médio de L i quando x foi incluída é Assim, probabilidade de busca de x posição média de x na lista L i Isto é,

31.11 Interpretando os resultados dos Teoremas 1 e 2 Se o número de chaves n for proporcional ao tamanho m da tabela T, temos n = O(m) Logo: Portanto, são neste caso constantes!

31.12 Exercício final Construir uma tabela de dispersão T usando encadeamento exterior tal que m = 5, h(x) = x mod 5 e as chaves são os quinze primeiros múltiplos de 7