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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 Notas de aula da disciplina IE - Estruturas de Dados I Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) Árvores de Busca: Atualização/Busca - caso médio: O(log n) Atualização/Busca - pior caso: O(log n) Pergunta: Pode-se melhorar os dados anteriores? dezembro/ Resposta: Pode-se melhorar o primeiro, ao custo de piorar o segundo. Pergunta: Como tentar buscar mais rapidamente? Resposta: usando-se um vetor e fazendo a transformação chave/endereço, para localizar a chave no vetor. Esquema: = conjunto de Função hash - :. Pergunta: pode ser uma função injetora? Resposta: quase nunca.(pensar no paradoxo do aniversário.) = conjunto de. = vetor[] = Função hash, transforma chave em endereço em. = vetor[] = Função hash, transforma chave em endereço em Função hash - : - Sinônimos Já que é tão difícil funções injetoras, tem-se que conviver com sinônimos. e são sinônimos To hash = bagunçar, picar. = conjunto de = vetor[] = Função hash, transforma chave em endereço em mas. - Função hash - Propriedades ) Cálculo rápido. ) Gerar endereços na faixa (-) ) Gerar distribuição uniforme de sinônimos ) Não preservar propriedades das chaves e são sinônimos. = conjunto de = vetor[] = Função hash, transforma chave em endereço em

2 - Função hash - Função hash a) Resto da Divisão:. b) Ou Exclusivo:. = mod +. a.) cálculo rápido a.) gera endereços na faixa a.) gera distribuição uniforme de sinônimos (é periódica com período ) -. a.) preserva sequência(!?) = a + b +. b.) cálculo rápido b.) gera endereços na faixa = p b.) gera distribuição uniforme de sinônimos Exemplo b.) não preserva sequência(!?) - Função hash - Função hash c) Função de ultiplicação: = (.b mod R) mod +. c.) cálculo rápido c.) gera endereços na faixa c.) pode gerar distribuição uniforme de sinônimos. Depende de R, b,. R =, =, b = c.) não preserva sequência. d) Outras Funções hash d.) Dobradura d.) etade do quadrado d.) Seleção de partes da chave d.) Segredos industriais.. ÉTOS. ) Encadeamento Exterior ) Encadeamento Interior (Listas coligadas) ) Endereçamento aberto ) Endereçamento aberto com duplo hashing ) Encadeamento Exterior I I

3 ) Encadeamento Exterior ) Encadeamento Exterior I I I I ) Encadeamento Exterior ) Encadeamento Exterior I I Busca(, i, p): p [i]; Enquanto (p Nulo) e (p.c ): p p.prox; i ; Busca(, i, p); Se (p = Nulo) Então: Alocar(p); p.c ; p.prox [i]; [i] p; I ) Encadeamento Exterior - Análise ) Encadeamento Exterior - Análise elhor caso médio: = elhor caso médio: =

4 ) Encadeamento Exterior - Análise da Busca ) Encadeamento Interior (listas coligadas) elhor caso médio: = Caso médio (média): = N(+α/) α = N/ = fator de carga. α. Idéia: criar listas encadeadas de sinônimos para cada endereço do vetor, no próprio vetor. I I ) Encadeamento Interior (listas coligadas) Busca(, ant, p): p ; ant p; Enquanto ([p].prox Nulo) e ([p].c ): ant p; p [p].prox; Se ([p].c ) Então p Nulo; Busca(, ant, p); Se (p = Nulo) e (n < ) Então: Se ([ant].c = ) Então p ant; [p].c ; Senão j Next(ant); [j].c ; [ant].prox j; p j; n n+; I ) Encadeamento Interior - Análise elhor caso médio: = ) Encadeamento Interior - Análise ) Encadeamento Exterior - Análise da Busca elhor caso médio: = m K m- - - elhor caso médio: = Caso médio (média): = N(+.α) α = N/ = fator de carga. m K m- - α

5 Exercício: Criar as tabelas hashing para Encadeamento Interior/Exterior, usando como entrada o IXSTRING, = e h(letra) = Pos(letra) od +. Calcular para cada tabela. ) Endereçamento Aberto Idéia: usar apenas um vetor, sem lins e colocar sinônimos em outra posição. ma das formas é procurar, circularmente, a próxima posição disponível. I I = (++++++)/= / ) Endereçamento aberto ) Endereçamento aberto - Análise Busca(, ant, p): p ; ant p; Enquanto ([p] Nulo) e ([p] ): ant p; p p mod + ; Se ([p] = Nulo) Então p Nulo; Busca(, ant, p); Se (p = Nulo) e (n < -) Então: [ant] ; p ant; I elhor caso médio: = ) Endereçamento aberto - Análise ) Endereçamento aberto - Análise elhor caso médio: = elhor caso médio: = Caso médio (média): = p/ α =. α = N/ = fator de carga α.

6 ) Endereçamento Aberto com duplo hash Idéia: usar uma segunda função para determinar os saltos na busca de espaço. h () h () I I = (++++++)/= / ) Endereçamento aberto com duplo hashing Busca(, ant, p): p h (); ant p; s h (); Enquanto ([p] Nulo) e ([p] ): ant p; p (p+s-) mod + ; Se ([p] = Nulo) Então p Nulo; Busca(, ant, p); Se (p = Nulo) e (n < -) Então: [ant] ; p ant; I ) Endereçamento Aberto com duplo hash ) Endereçamento Aberto com duplo hash Requisito importante para h (): h () h () I I Requisito importante para h (): relativamente primos a!! h () h () I I gerar números Exemplos: a) ímpar e h () = mod b) primo e h () = mod - + ) Endereçamento aberto com duplo hash - Análise ) Endereçamento aberto com duplo hash - Análise elhor caso médio: = elhor caso médio: =

7 ) Endereçamento aberto com duplo hash - Análise elhor caso médio: = Caso médio (média): = p/ α =. α = N/ = fator de carga Exercício: Criar as tabelas hashing para Endereçamento aberto simples e com duplo hash, usando como entrada o IXSTRING, = e h(letra) = Pos(letra) od +. Calcular para cada tabela. α. Fim

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

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

Leia mais

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

Tabelas Hash. Prof. Túlio Toffolo  BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Tabelas Hash Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa

Leia mais

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

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,

Leia mais

Hashing: conceitos. Hashing

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

Leia mais

Endereçamento Aberto

Endereçamento Aberto Endereçamento Aberto 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 dbeder@usp.br 11/2008 Material baseado em slides

Leia mais

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

Á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

Leia mais

Hashing. Cormen Capítulo 11

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

Leia mais

Transformação de Chave - Hashing

Transformação de Chave - Hashing UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de Chave (Hashing) e Gomes da Costa yandre@din.uem.br 1 Transformações de Chave, ou Tabela Hash, ou Tabelas de Dispersão; Hashing

Leia mais

Tabelas Hash. Jeane Melo

Tabelas Hash. Jeane Melo Tabelas Hash Jeane Melo Roteiro Introdução Motivação Definição Tabelas Hash Exemplos Funções hash Colisões Introdução Estudamos a utilização de estruturas como listas e árvores para armazenar informações

Leia mais

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. MC3305 Algoritmos e Estruturas de Dados II Aula 02 Hashing Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Sobre a busca de dados/chaves 2 Busca em tabelas (vetores/arrays) Para se resolver

Leia mais

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

Tabela Hash. Disciplina: Estruturas de Dados Professora: Camila Taumaturgo   M.Sc. Tabela Hash Disciplina: Estruturas de Dados Professora: Camila Taumaturgo email: camila.taumaturgo@ifrn.edu.br Sumário Tabela Hash Introdução Princípios de funcionamento Funções de Dispersão Tratamento

Leia mais

Método Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo

Método Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo Notas de aula da disciplina IME - ALGORITMOS E ESTRUTURAS DE DADOS II Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) Troco mínimo Dados os tipos de moedas de um país, determinar o número mínimo

Leia mais

Organização de Arquivos

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

Leia mais

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

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

Leia mais

Backtracking. Backtracking

Backtracking. Backtracking Notas de aula da disciplina IME 0-0 ALGORITMOS E ESTRUTURAS DE DADOS II Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) É uma técnica de solução de problemas (construção de algoritmos) que eamina

Leia mais

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 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

Leia mais

Hashing Letícia Rodrigues Bueno

Hashing Letícia Rodrigues Bueno Hashing Letícia Rodrigues Bueno UFABC hash: Hashing (Tabelas de Dispersão): Introdução hash: Hashing (Tabelas de Dispersão): Introdução Hashing (Tabelas de Dispersão): Introdução hash: 1. fazer picadinho

Leia mais

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 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

Leia mais

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

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures Hashing externo (II) Graça Nunes Fonte: Folk & Zoelick, File Structures 1 Hashing Extensível Espalhamento Extensível (Extendible Hashing): permite um auto-ajuste do espaço de endereçamento do espalhamento

Leia mais

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

ESTRUTURA DE DADOS E ALGORITMOS. Hashing (Tabela de Dispersão) Cristina Boeres ESTRUTURA DE DADOS E ALGORITMOS Hashing (Tabela de Dispersão) Cristina Boeres Motivação! Os métodos de pesquisa vistos até agora buscam informações armazenadas com base na comparação de suas chaves! Para

Leia mais

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 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:

Leia mais

AED Algoritmos e Estruturas de Dados LEEC /2007. Tabelas de Dispersão

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

Leia mais

Algoritmos e Estruturas de Dados II IEC013

Algoritmos e Estruturas de Dados II IEC013 Algoritmos e Estruturas de Dados II IEC013 Revisão: Listas Encadeadas Prof. César Melo Todos os créditos reservados ao professor Leandro Galvão Listas Encadeadas Listas encadeadas ou listas ligadas representam

Leia mais

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 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.

Leia mais

ÁLGEBRA LINEAR AULA 5 MÉTODOS ITERATIVOS

ÁLGEBRA LINEAR AULA 5 MÉTODOS ITERATIVOS ÁLGEBRA LINEAR AULA 5 MÉTODOS ITERATIVOS Luís Felipe Kiesow de Macedo Universidade Federal de Pelotas - UFPel 1 / 27 1 2 3 4 2 / 27 Seja o sistema linear Ax = b, onde: A: Matriz dos coeficientes, n n;

Leia mais

f) (,) = (,2) g) (,) = (,) h) (,) = (, ) i) (,) = (3, 2 ) d) (,) = (3, 2) e) (,) = 2(,) f) (,) = (, ) +2 # ' ( +

f) (,) = (,2) g) (,) = (,) h) (,) = (, ) i) (,) = (3, 2 ) d) (,) = (3, 2) e) (,) = 2(,) f) (,) = (, ) +2 # ' ( + Lista de exercícios: Unidade 3 Transformações Lineares 1) Consideremos a transformação linear : ² ² definida por (,) = (3 2, +4). Utilizar os vetores = (1,2) e = (3, 1) para mostrar que (3 +4) = 3() +

Leia mais

O acesso aos elementos é aleatório, isto é, qualquer elemento numa colecção pode ser acedido realizando uma pesquisa pela chave.

O acesso aos elementos é aleatório, isto é, qualquer elemento numa colecção pode ser acedido realizando uma pesquisa pela chave. DICIONÁRIOS São assim designadas as colecções de elementos em que cada elemento tem um campo chamado chave e não existem valores de chaves repetidos. As operações características que permitem a sua manipulação

Leia mais

Aula 15 Variáveis Indexadas (vetores)

Aula 15 Variáveis Indexadas (vetores) Aula 15 Variáveis Indexadas (vetores) Além das variáveis normais já conhecidas, podemos ter também variáveis indexadas. Tais variáveis são referenciadas por um nome e um índice. Especialmente úteis para

Leia mais

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 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

Leia mais

Método de Newton para polinômios

Método de Newton para polinômios Método de Newton para polinômios Alan Costa de Souza 26 de Agosto de 2017 Alan Costa de Souza Método de Newton para polinômios 26 de Agosto de 2017 1 / 31 Seja f(x) uma função polinomial de grau n. A princípio.

Leia mais

TEOREMA FUNDAMENTAL DA ARITMÉTICA: APLICAÇÕES

TEOREMA FUNDAMENTAL DA ARITMÉTICA: APLICAÇÕES 4. TEOREMA FUNDAMENTAL DA ARITMÉTICA: APLICAÇÕES 1). Achando os divisores de um número natural 2). Quantidade de divisores de um número natural 3). Decidindo se um número natural divide outro 4). Extrema

Leia mais

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

Cálculo de Endereço (hashing) Pesquisa de Dados em Tabelas. Função de Cálculo de endereço chave. Eficiência Pesquisa de Dados em Tabelas Aula 11 unções de Cálculo de ndereço e Tratamento de Colisões URGS IN014 Cálculo de ndereço (hashing) Método de cálculo de endereço Aleatorização Randomização Hashing Não é

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

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 (array). Se o vetor não está ordenado, a pesquisa requer O(n) de

Leia mais

Tabelas Hash. Aleardo Manacero Jr.

Tabelas Hash. Aleardo Manacero Jr. Tabelas Hash Aleardo Manacero Jr. Introdução O uso de listas ou árvores para organizar informações é interessante e produz resultados bastante bons Entretanto, em nenhuma dessa estruturas se obtém o acesso

Leia mais

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Introdução O que são estruturas

Leia mais

Apontamentos de Matemática 6.º ano

Apontamentos de Matemática 6.º ano Aplicação da decomposição de números em fatores primos para determinar o máximo divisor comum Exemplo: Determinar m. d. c. (60,36) 60 = 3 5 e 36 = 3 Qual é o maior número pelo qual podemos dividir 60 e

Leia mais

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior Informática no Ensino de Matemática Prof. José Carlos de Souza Junior http://www.unifal-mg.edu.br/matematica/?q=disc jc Aula 03 ATIVIDADE 01 (a) Sejam u = (a b)/(a + b), v = (b c)/(b + c) e w = (c a)/(c

Leia mais

a) Falsa. Por exemplo, para n = 2, temos 3n = 3 2 = 6, ou seja, um número par.

a) Falsa. Por exemplo, para n = 2, temos 3n = 3 2 = 6, ou seja, um número par. Matemática Unidade I Álgebra Série - Teoria dos números 01 a) Falsa. Por exemplo, para n =, temos 3n = 3 = 6, ou seja, um número par. b) Verdadeira. Por exemplo, para n = 1, temos n = 1 =, ou seja, um

Leia mais

Arquivos de Acesso Direto. Vanessa Braganholo

Arquivos de Acesso Direto. Vanessa Braganholo Arquivos de Acesso Direto Vanessa Braganholo Arquivo de Acesso Direto } Definição: arquivo em que o acesso a um registro pode ser feito diretamente, sem ter que ler todos os registros que vêm antes dele

Leia mais

Árvores AVL e Árvores B. Jeane Melo

Árvores AVL e Árvores B. Jeane Melo Árvores AVL e Árvores B Jeane Melo Roteiro Árvores Binárias Árvores AVL Definição Motivação Balanceamento Operações de rebalanceamento Árvores B Introdução Árvores Binárias Árvores binárias Cada nó tem

Leia mais

Autovalores e Autovetores

Autovalores e Autovetores Autovalores e Autovetores Maria Luísa B. de Oliveira SME0300 Cálculo Numérico 24 de novembro de 2010 Introdução Objetivo: Dada matriz A, n n, determinar todos os vetores v que sejam paralelos a Av. Introdução

Leia mais

Note-se que pelo Teorema de Euler. a φ(n) 1 (mod n) logo existe k nas condições da definição acima e. Raízes Primitivas. Ordem de um elemento

Note-se que pelo Teorema de Euler. a φ(n) 1 (mod n) logo existe k nas condições da definição acima e. Raízes Primitivas. Ordem de um elemento Ordem de um elemento Definição Sejam a e n inteiros tais que m.d.c.(a, n) = 1. O menor inteiro positivo k tal que tal que a k 1 (mod n) diz-se a ordem de a módulo n e representa-se por ord n (a). Note-se

Leia mais

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática

Leia mais

Matrizes esparsas: definição

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

Leia mais

Hashing. Estruturas de Dados. Motivação

Hashing. Estruturas de Dados. Motivação Estruturas de Dados Hashing Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich & Tamassia). Motivação

Leia mais

SCC Capítulo 5 Métodos de Busca [3]

SCC Capítulo 5 Métodos de Busca [3] SCC-201 - Capítulo 5 Métodos de [3] João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis

Leia mais

Lista Encadeada (Linked List)

Lista Encadeada (Linked List) Lista Encadeada (Linked List) As listas ou listas encadeadas são a estrutura de dados mais simples concebível excetuando-se naturalmente os arrays. Listas encadeadas nada mais são que uma seqüência de

Leia mais

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

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 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 Tópicos Introdução Alocação sequencial Listas lineares,

Leia mais

Operações com Números Naturais. 6 ano E.F. Professores Cleber Assis e Tiago Miranda

Operações com Números Naturais. 6 ano E.F. Professores Cleber Assis e Tiago Miranda Módulo Resolução de Exercícios Operações com Números Naturais 6 ano E.F. Professores Cleber Assis e Tiago Miranda Resolução de Exercícios Operações com Números Naturais 1 Exercícios Introdutórios Exercício

Leia mais

ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome:

ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome: ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1 (ENADE Computação 2005) No famoso jogo da Torre de Hanói,

Leia mais

MATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco

MATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco MATEMÁTICA 1 Professor Matheus Secco MÓDULO 2 Divisibilidade 1. DIVISIBILIDADE 1.1 DEFINIÇÃO: Dizemos que o inteiro a é divisível pelo inteiro b (ou ainda que a é múltiplo de b) se existe um inteiro c

Leia mais

SISTEMA DECIMAL. No sistema decimal o símbolo 0 (zero) posicionado à direita implica em multiplicar a grandeza pela base, ou seja, por 10 (dez).

SISTEMA DECIMAL. No sistema decimal o símbolo 0 (zero) posicionado à direita implica em multiplicar a grandeza pela base, ou seja, por 10 (dez). SISTEMA DECIMAL 1. Classificação dos números decimais O sistema decimal é um sistema de numeração de posição que utiliza a base dez. Os dez algarismos indo-arábicos - 0 1 2 3 4 5 6 7 8 9 - servem para

Leia mais

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A *

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A * Inteligência Artificial Aula 6 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 Revisão da aula passada: Busca A * Idéia:

Leia mais

Aula 07: Algoritmos de busca e Listas encadeadas

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 jesus.mena@ufabc.edu.br 1Q-2016 1 Busca de um elemento 2 Exemplo: Busca de um elemento

Leia mais

Professora Jeane Melo

Professora Jeane Melo Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros

Leia mais

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos Programa Analítico de Disciplina Campus Rio Paranaíba - Campus Rio Paranaíba Número de créditos: 6 Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 4 2 6 Períodos - oferecimento: II

Leia mais

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados Estruturas de Indexação de Dados Cristina Dutra de Aguiar Ciferri Índice Estrutura de acesso auxiliar usada para melhorar o desempenho na recuperação de registros Pesquisa restringida a um subconjunto

Leia mais

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0!

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0! Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0! Fatorial de 0 = 1 Recursividade 1 Recursividade

Leia mais

Representação de Arranjos

Representação de Arranjos Representação de Arranjos Algoritmos e Estruturas de Dados I Embora os arranjos multidimensionais sejam fornecidos como um objeto de dados padrão na maioria das linguagens de programação em alto nível,

Leia mais

Estruturas de Dados I

Estruturas de Dados I Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus

Leia mais

Fontes do Campo magnético

Fontes do Campo magnético Fontes do Campo magnético Lei de Biot-Savart Jean-Baptiste Biot (1774 1862) e Félix Savart (1791 1841) Realizaram estudos sobre as influências de um corrente elétrica sobre o campo magnético. Desenvolveram

Leia mais

Hashing. Prof Márcio Bueno. /

Hashing. Prof Márcio Bueno. / Hashing Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Hashing Fundamentos Funções de Hashing Tabelas de Hashing Operações Básicas Estrutura de Dados II - Márcio Bueno 2 Objetivo

Leia mais

Estruturas de Dados. Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais:

Estruturas de Dados. Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais: Estruturas de Dados Listas Dinâmicas Simplesmente Encadeadas Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais: disponíveis

Leia mais

TESTES DE PRIMALIDADE

TESTES DE PRIMALIDADE TESTES DE PRIMALIDADE MOTIVACAO Testes de primalidade são ingredientes essenciais em sistemas de segurança computadorizados. Há uma série de sistemas de segurança que contam com a suposição que é difícil

Leia mais

é encontrado no cruzamento da linha i com a coluna j, ou seja, o primeiro índice se refere à linha e o segundo à coluna.

é encontrado no cruzamento da linha i com a coluna j, ou seja, o primeiro índice se refere à linha e o segundo à coluna. Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal De Santa Catarina Campus São José Professora: ELENIRA OLIVEIRA VILELA COMPONENTE CURRICULAR: ALG ÁLG. LINEAR MATRIZES

Leia mais

Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio Árvores Dados organizados de maneira hierárquica Exemplos: arquivos em diretórios, subdivisão de espaço 2D em um

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

Polos Olímpicos de Treinamento. Aula 7. Curso de Teoria dos Números - Nível 2. Aula de Revisão e Aprofundamento. Prof.

Polos Olímpicos de Treinamento. Aula 7. Curso de Teoria dos Números - Nível 2. Aula de Revisão e Aprofundamento. Prof. Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível 2 Prof. Samuel Feitosa Aula 7 Aula de Revisão e Aprofundamento Observação 1. É recomendável que o professor instigue seus alunos a pensarem

Leia mais

Unidade 7 - Bases e dimensão. A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa. 10 de agosto de 2013

Unidade 7 - Bases e dimensão. A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa. 10 de agosto de 2013 MA33 - Introdução à Álgebra Linear Unidade 7 - Bases e dimensão A. Hefez e C. S. Fernandez Resumo elaborado por Paulo Sousa PROFMAT - SBM 10 de agosto de 2013 Nesta unidade introduziremos dois conceitos

Leia mais

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010 Introdução Objetivo: estudar o método

Leia mais

1 OBJETIVOS 2 HORÁRIO DE AULAS 3 PROGRAMA

1 OBJETIVOS 2 HORÁRIO DE AULAS 3 PROGRAMA 1 OBJETIVOS Curso de Especialização em Engenharia de Software Universidade Federal de Minas Gerais Departamento de Ciência da Computação Estruturas de Dados Fundamentais Professor Roberto da Silva Bigonha

Leia mais

MA21 (2015) - Teste - Gabarito comentado. Problema 1 (OBM 2005) Na sequência de números

MA21 (2015) - Teste - Gabarito comentado. Problema 1 (OBM 2005) Na sequência de números MA21 (2015) - Teste - Gabarito comentado Problema 1 (OBM 2005) Na sequência de números 1, a, 2, b, c, d,... dizemos que o primeiro termo é 1, o segundo é a, o terceiro é 2, o quarto é b, o quinto é c e

Leia mais

exemplos O conjunto das letras do nosso alfabeto; L= {a, b, c, d,..., z}. O conjunto dos dias da semana: S= {segunda, terça,... domingo}.

exemplos O conjunto das letras do nosso alfabeto; L= {a, b, c, d,..., z}. O conjunto dos dias da semana: S= {segunda, terça,... domingo}. CONJUNTOS Conjunto: Representa uma coleção de objetos, geralmente representado por letras MAIÚSCULAS; não interessando a ordem e quantas vezes os elementos estão listados na coleção, e sempre são representados

Leia mais

Algoritmos I Aula 8 Estrutura de controle: seleção

Algoritmos I Aula 8 Estrutura de controle: seleção Algoritmos I Aula 8 Estrutura de controle: seleção Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Operadores Lógicos Os operadores lógicos retornam verdadeiro (V) ou

Leia mais

Exemplos: Os números 12, 18 e 30 têm conjuntos de divisores respectivamente iguais a:

Exemplos: Os números 12, 18 e 30 têm conjuntos de divisores respectivamente iguais a: Lista de atividades sobre MDC. Nesta aula, definiremos e estudaremos métodos para calcular o máximo divisor comum e o mıınimo múltiplo comum de números naturais, bem como algumas de suas propri edades.

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Aula prática 5. Funções Recursivas

Aula prática 5. Funções Recursivas Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário

Leia mais

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 1 Revisão da aula passada: Busca A * Idéia: evitar expandir caminhos que já são caros Função de avaliação f(n) = g(n) + h(n)

Leia mais

Números Irracionais e Reais. Oitavo Ano

Números Irracionais e Reais. Oitavo Ano Módulo de Potenciação e Dízimas Periódicas Números Irracionais e Reais Oitavo Ano Números Irracionais e Reais 1 Exercícios Introdutórios Exercício 1. No quadro abaixo, determine quais números são irracionais.

Leia mais

ALGORITMO DE EUCLIDES

ALGORITMO DE EUCLIDES Sumário ALGORITMO DE EUCLIDES Luciana Santos da Silva Martino lulismartino.wordpress.com lulismartino@gmail.com PROFMAT - Colégio Pedro II 25 de agosto de 2017 Sumário 1 Máximo Divisor Comum 2 Algoritmo

Leia mais

Exercícios sobre algoritmos

Exercícios sobre algoritmos Exercícios sobre algoritmos Exercícios envolvendo estruturas de decisão Fazer um algoritmo para: 1) Receber um número do usuário e mostrar se esse número é par ou não par 2) Receber 3 valores numéricos,

Leia mais

Técnicas para Implementação de Jogos

Técnicas para Implementação de Jogos Técnicas para Implementação de Jogos Solange O. Rezende Thiago A. S. Pardo Considerações gerais Aplicações atrativas para métodos de IA Formulação simples do problema (ações bem definidas) Ambiente acessível

Leia mais

Divisibilidade Múltiplos de um número Critérios de divisibilidade 5367

Divisibilidade Múltiplos de um número Critérios de divisibilidade 5367 Divisibilidade Um número é divisível por outro quando sua divisão por esse número for exata. Por exemplo: 20 : 5 = 4 logo 20 é divisível por 5. Múltiplos de um número Um número tem um conjunto infinito

Leia mais

TEORIA DOS NÚMEROS : MMC E MDC

TEORIA DOS NÚMEROS : MMC E MDC 1. (Col. Naval 016) Sejam x e y números reais tais que xy 3. Sendo assim, o valor mínimo de 8 8 x y é a) múltiplo de 18. b) um número primo. c) divisível por 5. d) divisível por 13. e) par maior que 300..

Leia mais

Notas de Aula Aula 2, 2012/2

Notas de Aula Aula 2, 2012/2 Lógica para Ciência da Computação Notas de Aula Aula 2, 2012/2 Renata de Freitas & Petrucio Viana Departamento de Análise, IME UFF 23 de janeiro de 2013 Sumário 1 Conteúdo e objetivos 1 2 Legibilidade

Leia mais

Aula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler

Aula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler Aula 10 Alocação Dinâmica de Memória Listas Encadeadas prof Leticia Winkler 1 Prof. Leticia Winkler 2 Alocação de Memória Reservar na memória (principal), o espaço para guardar a informação através da

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Implementação são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados Descritor de arquivo

Leia mais

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII Permitir o compartilhamento seguro e eficiente da memória entre vários programas Remover os transtornos de programação de uma quatidade pequena e limitada

Leia mais

AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL

AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL Documento(s) Orientador(es): Programa e Metas de Aprendizagem e manual adoptado 3º CICLO MATEMÁTICA 7ºANO TEMAS/DOMÍNIOS

Leia mais

HASHING. Katia Guimarães. katia@cin.ufpe.br 1

HASHING. Katia Guimarães. katia@cin.ufpe.br 1 HASHING Katia Guimarães katia@cin.ufpe.br 1 HASHING Suponha que você pudesse criar um array onde qualquer item pudesse ser localizado através de acesso direto. Isso seria ideal em aplicações do tipo Dicionário,

Leia mais

Tema VI. TRAÇADO EM PLANTA. Implantação da curva circular simples INTRODUÇÃO.

Tema VI. TRAÇADO EM PLANTA. Implantação da curva circular simples INTRODUÇÃO. Tema VI. TRAÇADO EM PLANTA Implantação da curva circular simples INTRODUÇÃO. Trabalhos de campo: É o conjunto de operações a realizar no terreno para implantar as curvas circulares simples. Existem fundamentalmente

Leia mais

Autenticação por par de. chaves assimétricas. Bruno Follmann

Autenticação por par de. chaves assimétricas. Bruno Follmann Autenticação por par de 1 chaves assimétricas Bruno Follmann 2 Criptografia assimétrica Criada em 1976 por Diffie e Hellman; Também chamada de criptografia de chave pública; Sistema para cifrar e decifrar

Leia mais

EMGI Programação. Ficha 7 Resolução. Programação 1 Calcular a hipotenusa de um triângulo rectângulo, sabendo as medidas dos seus catetos:

EMGI Programação. Ficha 7 Resolução. Programação 1 Calcular a hipotenusa de um triângulo rectângulo, sabendo as medidas dos seus catetos: Programação 1 Calcular a hipotenusa de um triângulo rectângulo, sabendo as medidas dos seus catetos: variáveis cat1, cat2, hipotenusa : real; escrever ( Escreva a medida do cateto 1: ); ler (cat1); escrever

Leia mais

Matrizes e Linearidade

Matrizes e Linearidade Matrizes e Linearidade 1. Revisitando Matrizes 1.1. Traço, Simetria, Determinante 1.. Inversa. Sistema de Equações Lineares. Equação Característica.1. Autovalor & Autovetor 4. Polinômios Coprimos 5. Função

Leia mais

MATEMÁTICA MÓDULO 1 TEORIA DOS NÚMEROS 1. DIVISIBILIDADE 1.1. DEFINIÇÃO 1.2. CRITÉRIOS DE DIVISIBILIDADE

MATEMÁTICA MÓDULO 1 TEORIA DOS NÚMEROS 1. DIVISIBILIDADE 1.1. DEFINIÇÃO 1.2. CRITÉRIOS DE DIVISIBILIDADE TEORIA DOS NÚMEROS 1. DIVISIBILIDADE Neste momento inicial, nosso interesse será em determinar quando a divisão entre dois números inteiros é exata, ou seja, quando o resto da divisão é 0. Antes de mais

Leia mais

Algoritmos geométricos

Algoritmos geométricos Algoritmos geométricos introdução a conceitos básicos de geometria computacional que serão abordados de forma mais avançada na disciplina Computação Gráfica disciplina de computação gráfica arquitetura

Leia mais

Unidade I Conjunto dos Números Naturais.

Unidade I Conjunto dos Números Naturais. A A Unidade I Conjunto dos Números Naturais. A A Aula 3.2 Conteúdo: Calcular da divisão de dois ou mais números naturais. A A Habilidade: Identificar as propriedades. A A Agora iremos aprender uma forma

Leia mais

Revisão: Matrizes e Sistemas lineares. Parte 01

Revisão: Matrizes e Sistemas lineares. Parte 01 Revisão: Matrizes e Sistemas lineares Parte 01 Definição de matrizes; Tipos de matrizes; Operações com matrizes; Propriedades; Exemplos e exercícios. 1 Matrizes Definição: 2 Matrizes 3 Tipos de matrizes

Leia mais

Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo

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

Leia mais

Faculdade de Ciências Exatas da PUC SP Sistemas de Informação Laboratório de Redes II - Prof. Julio Arakaki

Faculdade de Ciências Exatas da PUC SP Sistemas de Informação Laboratório de Redes II - Prof. Julio Arakaki Faculdade de Ciências Exatas da PUC SP Sistemas de Informação Laboratório de Redes II - Prof. Julio Arakaki Aluno: GABARITO RA: Data 08/05/2017 1- Quais são as funções de um roteador? (Escolha três.) (

Leia mais