TAD dicionário. Métodos do TAD dicionário:
|
|
|
- Lorena Philippi da Costa
- 7 Há anos
- Visualizações:
Transcrição
1 TAD dicionário O TAD dicionário modela uma coleção buscável de itens chave-elemento As principais operações em dicionários são busca, inserção e remoção de itens Vários itens com a mesma chave são permitidos Aplicações: Agenda Autorização de cartão de crédito Mapeamento de hosts (e.g., cs16.net) para endereços IP (e.g., ) Métodos do TAD dicionário: findelement(k): se o dicionário tem um item com chave k, retorna o elemento, senão, retorna NO_SUCH_KEY insertitem(k, o): insere um item no dicionário removeelement(k): Se existe um item com chave k, remove e retorna, senão, retorna NO_SUCH_KEY size(), isempty() keys(), Elements()
2 Arquivo de LOG Um arquivo de log é um dicionário implementado como um sequência não ordenada Armazenamos os itens do dicionário em uma sequência em uma ordem arbritária Desempenho: insertitem roda em tempo O(1) uma vez que podemos inserir o novo item no início ou no fim da sequência findelement e removeelement roda em tempo O(n) uma vez que, no pior caso, temos que percorrer toda a sequência para procurar um item com uma dada chave O arquivo de log é útil apenas para dicionários de tamanho pequeno ou para dicionários nos quais operações de inserção são as mais comuns, enquanto busca e remoção são raras (histórico de registros de logins em uma estação)
3 Busca binária Busca binária realiza a operação findelement(k) em um dicionário implementado com uma sequencia baseada em array, ordenada pela chave a cada passo, o número de itens candidatos é dividido pela metade termina após um número logaritmico de passos Example: findelement(7) 0 l 0 l m h m h l m h l=m =h
4 Busca binária Algoritmo Algoritmo BuscaBinária(A,k,min,max) m (max+min)/2 c A[m] se min>max retorne NO_SUCH_KEY senão se c.getkey()= k retorne c.getelement() senão se(k < c.getkey() BuscaBinaria(A,k, min, m-1) senão se(k>c.getkey()) BuscaBinaria(A,k, m +1,max) retorne NO_SUCH_KEY
5 Tabela de Pesquisa Uma tabela de pesquisa é um dicionário implementado através de uma estrutura ordenada Itens são armazenados (implementada com arranjo) ordenados pela chave Usamos um comparador externo para as chaves Desempenho: findelement executa em tempo O(log n), usando busca binária insertitem executa em tempo O(n) uma vez que no pior caso, deve-se deslocar n itens para liberar espaço para o novo item removeelement executa em tempo O(n) uma vez que no pior caso, temos que deslocar n/2 itens para ocupar o espaço do item removido Uma tabela de pesquisa é eficiente apenas para dicionários de tamanho pequeno ou dicionários onde a busca é a operação mais comum, enquanto que inserções e remoções são realizadas raramente (autorizações de cartões de créditos, por exemplo)
6 Tabelas e funções de dispersão Uma função de dispersão h mapeia chave de um dado tipo em inteiros num intervalo fixo [0, N - 1] Exemplo: h(x) = x mod N é uma função de dispersão para chaves inteiras O inteiro h(x) é chamado valor de dispersão (hash value) da chave x O objetivo da função de dispersão é uniformemente dispersar chaves na faixa [0, N - 1] Uma tabela de dispersão para um dado tipo de chave consiste de função de dispersão h arranjo (chamado tabela) de tamanho N Quando implementando um dicionário com uma tabela de dispersão, o objetivo é armazenar itens (k, o) no índice i = h(k) Uma colisão ocorre quando duas chaves no dicionário têm o mesmo valor de dispersão Esquemas de tratamento de colisões: encadeiamento: itens que colidem são armazenados numa sequência endereçamento: o item que colide é colocado em um lugar diferente na tabela
7 Exemplo Projetamos uma tabelas de dispersão para armazenar itens (ID, nome), onde ID é um inteiro positivo de nove dígitos Nossa tabela de dispersão usa arranjo de tamanho N = 10,000 e a função de dispersão h(x) = quatro últimos dígitos de x Usamos encadeiamento para tratar colisões
8 Funções de dispersão Uma função de dispersão é normalmente composta de duas funções: Mapa de código de dispersão: h 1 : chaves inteiros Mapa de compressão: h 2 : inteiros [0, N - 1] O mapa de código de dispersão é aplicado primeiro, e o mapa de compressão e aplica logo após no resultado h(x) = h 2 (h 1 (x)) O objetivo da função de dispersão é dispersar as chaves de forma aparentemente aleatória
9 Funções de dispersão Objetos arbitrários Código Hash...,-2,-1,0,1,2,... Mapa de Compressão 0,1,2,...,N-1
10 Códigos de dispersão (hash code) Endereço de memória: Interpretamos o endereço de memória da chave como inteiro (usado pelo método hashcode de Object) Bom no geral, mas pode ter códigos diferentes para a mesma chave (String, Números, etc) Conversão para inteiros: Interpretamos os bits da chave como um inteiro Adaptável para chaves cujo tamanho é menor ou igual ao número de bits de um inteiro (byte, short, int e float em Java) Soma de componentes: Particiona-se os bits da chave em componentes de tamanho fixo (16 oiu 32 bits) e somamos os componentes Adaptável para números de tamanho fixo maior ou igual os números de bits do tipo inteiro (long e double em Java)
11 Códigos de dispersão (cont.) Acumulação polinomial: Particiona-se os bits da chave em uma sequencia de componentes de tamanho fixo a 0 a 1 a n-1 Avalia-se o polinomio p(z) = a 0 + a 1 z + a 2 z a n-1 z n-1 sobre uma constante z, ignorando overflows Plenamente adaptável a String O polinomio p(z) pode ser avaliado em tempo O(n) usando a regra de Horner: Os seguintes polinomios são computados sucessivamente, usando o anterior em tempo O(1) p 0 (z) = a n-1 p i (z) = a n-i-1 + zp i-1 (z) (i = 1, 2,, n -1)
12 Mapa de compressão Divisão: h 2 (y) = y mod N O tamanho de N da tabela de dispersão é geralmente um número primo Motivo de ser primo está no estudo da teoria dos números e não entraremos em detalhes Multiplicação, Adição e Divisão (MAD): h 2 (y) = (ay + b) mod N a e b são inteiros não negativos tais que a mod N 0 de outra forma, todo inteiro mapearia para o mesmo valor b
13 Linear Probing Linear probing trata colisões colocando o item que colide na próxima (circular) célula disponível Itens que colidem ficam juntos causando uma longa sequência de probes Exemplo: h(x) = x mod 13 Insira as chaves 18, 41, 22, 44, 59, 32, 31, 73, nessa ordem
14 busca com Linear Probing Considere uma tabela de dispersão A que usa linear probing findelement(k) Começamos na célula h(k) Verificamos localizações consecutivas até encontrar uma que acontece: Um item com chave k é encontrado ou Uma célula vazia é encontrada, ou N células tenham sido verificadas Algoritmo findelement(k) i h(k) p 0 repita c A[i] se c = retorne NO_SUCH_KEY senão se c.key () = k retorne c.element() senão i (i + 1) mod N p p + 1 até p = N retorne NO_SUCH_KEY
15 Atualização com Linear Probing para manipular inserções e remoções, usamos um objeto especial, chamado AVAILABLE, que substitue elementos removidos removeelement(k) Procura-se por um item com chave k Se o item é encontrado, substitue ele com o objeto especial AVAILABLE e retorna-se o elemento o Senão, retorna-se NO_SUCH_KEY insert Item(k, o) Uma exceção é disparada se a tabela está cheia Começa-se na célula h(k) Procura-se em consecutivas células até que o seguinte ocorra: Uma célula i é encontrada e está vazia ou armazena AVAILABLE, ou N células tenham sido verificadas Armazena-se o item na célula i
16 hashing duplo hashing duplo usa uma função de dispersão secundária d(k) e manipula colisões colocando o item na primeira célula disponível da série (i + jd(k)) mod N para j = 0, 1,, N - 1 A função de dispersão secundária d(k) não pode ter valores zero O tamanho N da tabela deve ser primo para permitir verificação de todas as células Uma escolha comum de mapa de compressão para a função secundária é: d 2 (k) = q - k mod q onde q < N q é primo valors possíveis para d 2 (k) são 1, 2,, q
17 Exemplo de Hashing duplo Considere uma tabela de dispersão armazenando chaves inteiras e manipulando colisões com hashing duplo N = 13 h(k) = k mod 13 d(k) = 7 - k mod 7 Insere as chaves 18, 41, 22, 44, 59, 32, 31, 73, nessa ordem k h (k ) d (k ) Probes
18 Desempenho de dispersão No pior caso, busca, insersão e remoção em uma tabela de dispersão roda em tempo O(n) O pior caso ocorre quando todos os itens inseridos em um dicionário colidem O fator de carga a = n/n afeta o desempenho Assumindo que os valores de dispersão são como números aleatórios, é possível mostrar que o número de probes para uma inserção com endereço aberto é 1 / (1 - a) O tempo de execução esperado para todas as operações de um dicionário em uma tabela de dispersão é O(1) Na prática, dispersão é muito rápida Aplicações de tabelas de dispersão: pequenos bancos de dados compiladores caches de navegadores
Tabelas de dispersão/hash
Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,
Hashing: conceitos. Hashing
Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado
Algoritmos de pesquisa. Tabelas de dispersão/hash
Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor. Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade.
Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:
Tabelas Hash Tabelas Hash O uso de listas ou árvores para organizar informações é interessante e produz bons resultados. Porem, em nenhuma dessas estruturas se obtém o acesso direto a alguma informação,
Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou
Tabelas de hash Acabamos de estudar como implementar uma tabela hashing aberta e estudaremos agora como implementar uma tabela hashing fechada ou também denominada de tabela hashing com endereçamento aberto.
Dicionários. Prof. César Melo
Dicionários Prof. César Melo Definição Estruturas que permitem a recuperação da informação a partir do seu valor; Contrasta com filas e pilhas que é posicional; Três operações: Inserção(k, d), chave k;
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?
Tabelas Hash O Que é uma Tabela Hash? Nesta aula são discutidos modos de armazenar informações em um vetor, e depois procurar por uma informação Tabelas Hash constituem uma abordagem comum para o problema
indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016
indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016 Universidade Federal do Paraná indexação e hashing Índices
Universidade de São Paulo
Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos
13 Hashing (parte 2) SCC201/501 - Introdução à Ciência de Computação II
13 Hashing (parte 2) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir Ponti Jr. (ICMCUSP)
Hashing. Cormen Capítulo 11
Hashing Cormen Capítulo 11 Motivação Um compilador utiliza uma tabela de símbolos para relacionar símbolos aos dados associados. Símbolos: nomes de variáveis, funções, etc.. Dados associados: localização
Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri
Hashing Externo SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri 1 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 (RRN 4) 3 4 5... LOWELL......
Tabela Hash. Prof. Msc. Mariella Berger
Tabela Hash Prof. Msc. Mariella Berger http://www.inf.ufes.br/~mberger [email protected] [email protected] HASHING Suponha que você pudesse criar um array onde qualquer item pudesse ser localizado
TABELA HASH. Prof. André Backes. Princípio de funcionamento dos métodos de busca
TABELA HASH Prof. André Backes Problema 2 Princípio de funcionamento dos métodos de busca Procurar a informação desejada com base na comparação de suas chaves, isto é com base em algum valor que a compõe
MC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco.
MC3305 Algoritmos e Estruturas de Dados II Aula 02 Hashing Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Sobre a busca de dados/chaves 2 Busca em tabelas (vetores/arrays) Para se resolver
Capítulo VIII. Tipo Abstracto de Dados Dicionário. Acesso por Chave
Capítulo VIII Tipo Abstracto de Dados Dicionário Acesso por Chave Margarida Mamede, DI FCT/UNL AED, 2009/10, Capítulo VIII 1 Interface Dicionário (K,V) (1) package datastructures; public interface Dictionary
Dicionários. TAD Orientado a conteúdo
Dicionários TAD Orientado a conteúdo Dicionários efinição: Tipo abstrato de dados orientado a onteúdo. Contrasta com as PILHAs e FILAs que são orientadas a posição. perações implementadas: Inserir(d,x)
ANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS ESTRUTURAS E INDEXAÇÃO FELIPE G. TORRES ARQUIVOS Um arquivo é uma sequência de registros. Em muitos casos do mesmo tipo. Se cada registro no arquivo tem exatamente o
Tabelas de Dispersão. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1
Tabelas de Dispersão Algoritmos e Estruturas de Dados Verão 2012 1 Tabelas de endereçamento directo Endereçamento directo é usado quando o universo de chaves é pequeno e todas as chaves são distintas:
Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome
Matrizes esparsas: definição
Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e
Introdução Métodos de Busca Parte 2 - Hashing
Introdução Métodos de Busca Parte - Hashing ICC Acesso seqüencial = O(n) Quanto mais as estruturas (tabelas, arquivos, etc.) crescem, mais acessos há Quando armazenamento é em disco, reduzir acessos é
TABELAS HASH. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
TABELAS HASH Vanessa Braganholo Estruturas de Dados e Seus Algoritmos MOTIVAÇÃO Alternativas para acelerar buscas em grandes volumes de dados: Usar um índice (ex. Árvore B, Árvore B+) Usar cálculo de endereço
Matemática Discreta 12
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 12 Prof. Jorge Cavalcanti [email protected] - www.univasf.edu.br/~jorge.cavalcanti 1 Introdução
Tabelas de Dispersão. Estrutura de Dados e Algoritmos
Tabelas de Dispersão Tabelas de Dispersão Sumário Definição. Características. Resolução de colisões: dispersão com listas e dispersão aberta. Teste quadrático. Desempenho de tabelas de dispersão. Interface
Implemente a função de remoção de uma chave na tabela hashing fechada em questão. void remover(tabela tabela, int n) {
Implemente a função de remoção de uma chave na tabela hashing fechada em questão. void remover(tabela tabela, int n) { } Tabelas de hash fechada: Exercício int posicao = buscar(tabela, n); if (posicao
Aplicações de vetores
O TAD Vetor O TAD Vetor extende a noção de arranjo (array) armazenando sequências de objetos arbitrários Um elemento pode ser acessado, inserido ou removido através da especificação de sua colocação (rank)
SCC0601 Introdução à Ciência da Computação II. Prof. Lucas Antiqueira
SCC0601 Introdução à Ciência da Computação II Prof. Lucas Antiqueira Acesso sequencial = O(n) Busca binária = O(log 2 n) Árvores binárias de busca = O(log 2 n) (melhor caso) Acesso em tempo constante Por
Transformação de Chave. (Hashing)
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de Chave (Hashing) e Gomes da Costa [email protected] 1 Transformações de Chave, ou Tabela Hash, ou Tabelas de Dispersão; Hashing
Agenda. Ideia. Buscar um item em um array. Função hash. Função hash. Hash Table. Introdução Definição Hash Table. Métodos de resolução de conflitos
Agenda [email protected] Introdução Definição função hash Kpo abstrato de dados Métodos de resolução de conflitos lista encadeada endereçamento aberto Departamento de Ciências Exatas niversidade Estadual de
Transformação de Chave - Hashing
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de Chave (Hashing) e Gomes da Costa [email protected] 1 Transformações de Chave, ou Tabela Hash, ou Tabelas de Dispersão; Hashing
Pesquisa em memória primária: hashing. Algoritmos e Estruturas de Dados II
Pesquisa em memória primária: hashing Algoritmos e Estruturas de Dados II Hashing Algoritmos vistos efetuam comparações para localizar uma chave. Os registros armazenados em uma tabela são diretamente
Hashing. ACH Introdução à Ciência da Computação II. Delano M. Beder
ing ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo [email protected] 11/2008 Material baseado em slides do professor
A inserção da chave 6 da árvore acima resulta na árvore abaixo.
149 Árvores B+ As operações nas árvores B+ não são muito diferentes das operações das árvores B. Inserir uma chave em uma folha que ainda tenha algum espaço exige que se coloque as chaves desta folha em
Classificação e Pesquisa de Dados. Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos
Classificação e Pesquisa de Dados Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos UFRGS INF1124 Arquivo indexado - AI Indicação de uso Baixa freqüência de acessos seqüenciais
INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash
INF70 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd Roteiro Fundamentos Hash Estático Hash Extensível Hash Linear Considerações
Lista de Exercícios 07 Introdução à Ciência de Computação II (SCC0201/501)
Lista de Exercícios 07 Introdução à Ciência de Computação II (SCC0201/501) Prof. Moacir P. Ponti Jr. 24 de novembro de 2010 1 Hashing 1. Suponha uma tabela hash de tamanho 10 com endereçamento aberto para
GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash
GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC UFU/FACOM/BCC GBD Página: Roteiro Fundamentos Hash
Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 055/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratório de Bases de Dados Aula 8 Indexação e Hashing Parte 1 Professora: Fátima L. S. Nunes Conceitos básicos Boa parte das consultas a BD referem-se a apenas uma parte pequena dos registros.
Paradigmas de Linguagens
Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos
UNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação II 1º Semestre Frequência 2 Resolução 07/01/2019 1. [1,25 val] - Análise de Complexidade dos Algoritmos Considere o seguinte bloco de código em linguagem C: for
Banco de Dados. Módulo 15 - Estruturas de Indexação
Banco de Dados Módulo 15 - Estruturas de Indexação Tópicos Introdução Árvores-B + Hashing Hashing Expansível Introdução Índice Primário (ou índice de clustering): índice cuja chave especifica a ordem sequencial
ACH2024. Aula 22 Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro
ACH04 Aula Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro 1 Tipos de organização de arquivos Sequencial Lista ligada (com ou sem tabela de alocação) Indexada Um
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Tabela Hash. Disciplina: Estruturas de Dados Professora: Camila Taumaturgo M.Sc.
Tabela Hash Disciplina: Estruturas de Dados Professora: Camila Taumaturgo email: [email protected] Sumário Tabela Hash Introdução Princípios de funcionamento Funções de Dispersão Tratamento
Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Aritmética de ponteiros em C (continuação) O que acontece na memória? Ponteiro para ponteiro etc. Métodos de pesquisa
Ordenação: HeapSort. Prof. Túlio Toffolo BCC202 Aula 17 Algoritmos e Estruturas de Dados I
2014-01 Aula 16 Fila de Prioridade / HeapSort Adaptado por Reinaldo Fortes para o curso de 2014-01 Arquivo original: Aula 17: HeapSort Ordenação: HeapSort Prof. Túlio Toffolo http://www.toffolo.com.br
Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a
Algoritmos e Estrutura de Dados. Aula 11 Estrutura de Dados: Tabelas Hash Parte II Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 11 Estrutura de Dados: Tabelas Hash Parte II Prof. Tiago A. E. Ferreira Introdução Como visto na aula passada as tabelas hash: Diminuem a quantidade de endereçamento
O que é um jogo digital?
O que é um jogo digital? Programa de Computador Dados Algoritmos Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma
AED Algoritmos e Estruturas de Dados LEEC /2007. Tabelas de Dispersão
AED Algoritmos e Estruturas de Dados LEEC - 2006/2007 Tabelas de Dispersão Tabelas de Dispersão - Introdução (1) As tabelas de dispersão (hash tables) são estruturas de dados adequadas para: Tabelas de
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Hashing Endereçamento Direto Tabelas Hash
Hashing Endereçamento Direto Tabelas Hash Professora: Fátima L. S. Nunes 1 1 1 Vimos até agora: Introdução Conceitos e técnicas de Orientação a Objetos Conceitos e aplicações de Complexidade Assintótica
Estruturas de Dados Estruturas de Dados Fundamentais
Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando
Aula 7 e 8 Filas e suas Aplicações. Prof. Leticia Winkler
Aula 7 e 8 Filas e suas Aplicações Prof. Leticia Winkler 1 Definição de Fila (Queue) São estruturas de dados do tipo FIFO (first-in first-out) - o primeiro elemento a ser inserido, será o primeiro a ser
Organização de Arquivos
Construção de Sistemas de Gerência de Bancos de Dados DI PUC-Rio Prof: Sérgio Lifschitz Organização de Arquivos Organização de Arquivos Tipos básicos de arquivos: heap files (entry sequenced files) sorted
Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Bubble Sort. Tempo total O(n 2 )
Bubble Sort Considere uma seqüência de n elementos que se deseja ordenar. O método da bolha resolve esse problema através de várias passagens sobre a seqüência Não é um algoritmo eficiente, é estudado
Aula 13: Listas encadeadas (estruturas lineares)
Algoritmos e Estruturas de Dados I Aula 13: Listas encadeadas (estruturas lineares) Prof. Jesús P. Mena-Chalco [email protected] 1Q-2017 1 Estruturas (alguns autores usam o termo registro) 2 Linguagem
Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza
Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Resolução de colisões Endereçamento aberto Re-hashing Encadeamento Separado Coalescido Coalescido com porão Endereçamento em balde Endereçamento
Listas Lineares. continuando...
Listas Lineares continuando... 1 Listas! relembrando: listas lineares agrupa informações referentes aum conjunto de elementos que, de alguma forma, se relacionam entre si! Uma lista linear ou está vazia,
Aula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler
Aula 3 Listas Lineares Sequenciais Ordenadas prof Leticia Winkler 1 Listas Lineares Sequenciais Ordenadas Elementos da lista estão dispostos num vetor (contíguos na memória) e ordenado de acordo com alguma
Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza
Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Funções Hashing Divisão Compressão de chaves alfanuméricas Multiplicação Enlaçamento Deslocado Limite Função Meio-Quadrado Extração Transformação
Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo
Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária Túlio Toffolo www.decom.ufop.br/toffolo Pesquisa em Memória Primária n Introdução - Conceitos Básicos n Pesquisa Sequencial n Pesquisa Binária n Árvores
Aula 15: Pesquisa em Memória Primária. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Aula 15: Pesquisa em Memória Primária Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa Binária Árvores de
Aula 07: Algoritmos de busca e Listas encadeadas
BC1424 Algoritmos e Estruturas de Dados I Aula 07: Algoritmos de busca e Listas encadeadas Prof. Jesús P. Mena-Chalco [email protected] 1Q-2016 1 Busca de um elemento 2 Exemplo: Busca de um elemento
INF 1010 Estruturas de Dados Avançadas
INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um
Hashing (Tabela de Dispersão)
Hashing (Tabela de Dispersão) Prof. Marcos Alves 2009-B Roteiro Contextualização Conceitos Básicos Hashing (método de pesquisa) Hashing Perfeito Hashing Imperfeito Colisões Métodos de Tratamento de Colisões
Edital de Seleção 016/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 016/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
