Busca binária. Busca em arquivos. Busca binária. Busca binária. Ordenação e busca em arquivos

Documentos relacionados
Indexação de Arquivos II:

Compactação e Reuso de Espaço

Indexação de Arquivos III:

Ordenação. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Chaves. Acesso a Registros. Chaves Primária e Secundária. Chaves Primária e Secundária

ORDENAÇÃO 1. ORDENAÇÃO POR TROCA

1. ORDENAÇÃO POR TROCA ORDENAÇÃO. 1.1 Ordenação por Bolha. Exemplo, 25, 57, 48, 37, 12, 92, 86, 33. Algoritmo. Complexidade de Tempo

Quicksort. Algoritmos e Estruturas de Dados II

Estudando complexidade de algoritmos

Introdução a Complexidade de Algoritmos

Organização de arquivos para desempenho. Manutenção de Arquivos. Compressão de dados. Compressão. Notação diferenciada. Técnicas

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

Organização de Arquivos

Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.)

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.

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

Ordenação por Troca. Bubblesort Quicksort

Implementação de Planilha de Cálculos Simplificada

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos

Armazenamento Secundário

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Ordenação e Busca em Arquivos

Problema de Fluxo de Custo Mínimo

Problemas Sobre Correlacionamento

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

OMBRO-CABEÇA-OMBRO : TESTANDO A LUCRATIVIDADE DO PADRÃO GRÁFICO DE ANÁLISE TÉCNICA NO MERCADO DE AÇÕES BRASILEIRO

3ª Lista de Exercícios de Programação I

CINÉTICA QUÍMICA FATORES DE INFLUÊNCIA - TEORIA

Conversores Analógico/Digital (A/D)

Exercício dia 25 de abril - Resolvido

Introdução à Computação

5. ANÁLISE DE SISTEMAS DA CONFIABILIADE DE SISTEMAS SÉRIE-PARALELO

arxiv: v1 [math.ho] 3 Sep 2014

Estatística: Aplicação ao Sensoriamento Remoto SER ANO Teoria da amostragem

Amostras Aleatórias e Distribuições Amostrais. Probabilidade e Estatística: afinal, qual é a diferença?

Manutenção de Arquivos

n n ...

Arquivos. Fundamentos de Arquivos. Discos X Memória Principal. Memória Secundária x Principal. Informação mantida em memória secundária (externa)

CONCEITOS BÁSICOS E PRINCÍPIOS DE ESTATÍSTICA

3.4.2 Cálculo da moda para dados tabulados. 3.4 Moda Cálculo da moda para uma lista Cálculo da moda para distribuição de freqüências

Preliminares 1. 1 lim sup, lim inf. Medida e Integração. Departamento de Física e Matemática. USP-RP. Prof. Rafael A. Rosales. 8 de março de 2009.

AULA Subespaço, Base e Dimensão Subespaço.

Sumário. 2 Índice Remissivo 19

Banco de Dados I Parte II: Abordagem Entidade-Relacionamento

Resposta de Sistemas de 2 a Ordem à Excitação Periódica Não Harmônica

Cap. 4 - Estimação por Intervalo

Métodos de Classificação dos Objetos Segmentados(IAR) Vizinho Próximo Lógica Fuzzy

Ministério da Educação MAIS EDUCAÇÃO

A letra x representa números reais, portanto

Armazenamento Secundário. Endereços no disco. Organização da informação no disco. Organização da informação no disco

IAG. Definições: O valor do dinheiro no tempo Representação: (100) 100. Visualização: Fluxo de Caixa B&A B&A

Definição. Árvores B Parte III. Propriedades Gerais. Propriedade (No. Mín. de Chaves) Leandro C. Cintra Maria Cristina F.

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim

Considerando que os triângulos são todos semelhantes, os perímetros formam uma PG de razão 1.

Exercício: Mediu-se os ângulos internos de um quadrilátero e obteve-se 361,4. Qual é o erro de que está afetada esta medida?

16/10/2017. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

Um estudo das permutações caóticas

AULA 1. Administração. Página da disciplina:

MAC122 Princípios de Desenvolvimento de Algoritmos EP no. 1

Problema de Fluxo de Custo Mínimo

MATEMÁTICA CADERNO 1 CURSO E FRENTE 1 ÁLGEBRA. Módulo 1 Equações do 1 ọ Grau e

Matriz de Contabilidade Social. Prof. Eduardo A. Haddad

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

Capítulo 6 Nível do Sistema Operacional

RESOLUÇÃO DAS QUESTÕES DE MATEMÁTICA FINANCEIRA

Análise de Projectos ESAPL / IPVC. Critérios de Valorização e Selecção de Investimentos. Métodos Estáticos

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa.

Capítulo 5- Introdução à Inferência estatística.

Lista de Exercícios Método de Newton

07/11/2015. Conhecendo o SPSS. Conhecendo o SPSS. Desvendando a Estatística e o uso do SPSS. Como obter? Informação

Ondas Eletromagnéticas.

EPR 007 Controle Estatístico de Qualidade

4 Teoria da Probabilidade

O QUE SÃO E QUAIS SÃO AS PRINCIPAIS MEDIDAS DE TENDÊNCIA CENTRAL EM ESTATÍSTICA PARTE li

a = b n Vejamos alguns exemplos que nos permitem observar essas relações. = 4 4² = 16 radical radicando

APLICAÇÃO DO PROBLEMA DO CAIXEIRO VIAJANTE NA OTIMIZAÇÃO DE ROTEIROS

Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados. Banco de Dados

COMUNICADO SIM Nº 019/00. Ref.: Trata da implantação do Módulo de Títulos Públicos no SIM.

Estudo da Função Exponencial e Função Logarítmica

1.1. Ordem e Precedência dos Cálculos 1) = Capítulo 1

PRESTAÇÃO = JUROS + AMORTIZAÇÃO

Instruções gerais sobre a Prova:

Whats: PROGRESSÃO GEOMÉTRICA

SECAGEM 06/11/17 DEFINIÇÃO DE SECAGEM OBJETIVOS ASPECTOS PRÁTICOS FUNDAMENTOS DA DESIDRATAÇÃO. Armazenamento a temperatura ambiente

Wavelets. Jorge Salvador Marques, Motivação

Prova Banco do Brasil 2012 CESGRANRIO /

Acione suave com: SIRIUS e SIKOSTART. soft starter

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

Sistema Computacional para Medidas de Posição - FATEST

Organização de Arquivos e Acesso a Arquivos

Fundamentos de Análise Matemática Profª Ana Paula. Números reais

Organização de Arquivos

COMPARADORES (COMUTADORES)

PROVA DE ESTATÍSTICA SELEÇÃO MESTRADO/UFMG 2005

Resoluçaõ de exercícios de Programação Linear Inteira

2.3 Dimensionamento segundo as normas de outros países

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

2 OPERAÇÕES E REPRESENTAÇÃO BÁSICAS EM 2D

CORDAS E TUBOS SONOROS TEORIA

Transcrição:

Algoritmos e Estruturas de Dados II Profa. Debora Medeiros Ordeação e Busca em Arquivos Idexação de Arquivos I: Ídices Simples Ordeação e busca em arquivos É relativamete fácil buscar elemetos em cojutos ordeados Adaptado dos Origiais de: Ricardo Campello Thiago Pardo Leadro C. Citra Maria Cristia F. de Oliveira A ordeação pode ajudar a dimiuir o úmero de acessos a disco 2 Busca em arquivos Já vimos busca seqüecial O() Muito ruim para acesso a disco! Busca biária Dificuldade:? E a busca biária? Modo de fucioameto? Complexidade de tempo? 3 4 Busca biária Dificuldade: ordear os dados Necessário para a busca biária Busca biária Dificuldade: ordear os dados Necessário para a busca biária Alterativa? Alterativa: ordear os dados em RAM Aida é ecessário: ler todo o arquivo e ter memória itera dispoível 5 6

Busca biária Registros de tamaho fixo Requer mais do que 1 ou 2 acessos Por exemplo, em um arquivo com 1.000 registros, são ecessários aproximadamete 10 acessos em média aida é ruim! Busca biária Mater um arquivo ordeado é muito caro Reordeação sempre que houver uma adição Lista de registros ovos Merge Ídices, hashig 7 8 Busca biária Mater um arquivo ordeado é muito caro Reordeação sempre que houver uma adição Lista de registros ovos Merge Ídices, hashig Estruturas de dados que permitam rápida reorgaização do arquivo Estruturas de árvore Árvores-B Ordeação Alterativa para carregar registros a RAM e ordeá-los? Tem como fazer melhor? O que é ecessário para ordear? 9 10 Ordeação Alterativa para carregar registros a RAM e ordeá-los? Carregar somete as chaves para ordeação Pois elas são esseciais para a ordeação, ão o registro todo Possibilidade de ordear arquivos maiores. Keysortig Keysortig Método 1. Cria-se a memória itera um vetor, em que cada posição tem uma chave do arquivo e um poteiro para o respectivo registro o arquivo (RRN ou byte iicial) 2. Ordea-se o vetor a memória itera 3. Cria-se um ovo arquivo com os registros a ordem em que aparecem o vetor ordeado a memória pricipal 11 13

Keysortig Exemplo Carregado dados a RAM Keysortig Exemplo Ordeado dados em RAM 14 15 Keysortig Iicialmete, é ecessário ler as chaves de todos os registros o arquivo Depois, para se criar o ovo arquivo, devem-se fazer vários seeks o arquivo para cada posição idicada o vetor ordeado Mais uma leitura completa do arquivo Não é uma leitura seqüecial Altera-se leitura o arquivo atigo e escrita o arquivo ovo 16 Keysortig Questões Por que criar um ovo arquivo? Não vale a pea usar o vetor ordeado como um ídice? Nesse caso, em um outro arquivo 17 Questão delicada O que fazer com os espaços vazios origiados de registros elimiados? Pied records Referêcia física Não pode ser movido Dificulta ordeação Utilização de ídices Ídice Mecaismo para localizar iformações via chave mapeameto chave localização da iformação por exemplo, ídice de um livro No caso de arquivos: permite localizar registros rapidamete evita ter que reorgaizar o arquivo de dados coforme este for modificado faça uma aalogia com um texto... 18 19

Arquivo de Ídice Arquivo de Ídice Um Arquivo de Ídice: Impõe ordem a um arquivo de dados sem precisar rearrajar o arquivo em si Permite acesso a registros via chave sem precisar varrer o arquivo de dados Estrutura de dados liear Permite várias visões diferetes de um mesmo arquivo de dados Estudaremos iicialmete arquivos com Ídices Simples: acesso por múltiplas chaves lista de pares (chave, localização) Posteriormete o curso veremos ídices com EDs mais sofisticadas Por exemplo, árvores 20 21 Arquivo de Ídice Arquivo de Ídice Exemplo Prático (Arquivo de Músicas) Registros de tamaho variável com: ID Number: Número de idetificação Title: Título Composer: Compositor(es) Artist: Artista(s) Label: Rótulo (código da gravadora) Chave primária: Combiação de Label e ID Number 22 23 Arquivo de Ídice Arquivo de Ídice Cada par (chave, localização) é um registro implemetação eficiete usa registros de tamaho fixo chave e localização (byte offset) como campos de tamaho fixo pode evetualmete coter outros campos Em geral, matido ordeado Meor e mais simples que o arquivo de dados origial 2 24 p. ex. tamaho do registro o arquivo de dados com registros de tamaho fixo, permite busca biária (BB) muitas vezes cabe todo em memória primária! 25

Arquivo de Ídice O Arquivo de Dados, em cotraste... em geral, muito maior que o arquivo de ídices em geral, possui registros de tamaho variável em geral, orgaizado segudo a ordem de etrada dos registros etry sequeced file Arquivos de Ídice Moderados A mauteção e busca de registros o arquivo de dados será muito mais eficiete se o arquivo de ídice puder ser carregado e maipulado em RAM Isso é possível em muitos casos, quado o arquivo de ídice possui tamaho moderado 26 27 Arquivos de Ídice Moderados Exemplo: Arquivo de dados com 10 6 registros de ~1Kb em média deve ser idexado até byte offset ~ 10 6 1000 = 1 Bilhão 4 bytes são mais que suficietes para represetar esse offset Arquivo de ídice com registros de 24 bytes 4 bytes para o byte offset + 20 bytes para a chave Para arquivos de ídice que cabem em RAM: Carrega-se todo o ídice em um vetor Quais? CPF, por exemplo, requer apeas 11 bytes a maior represetação Com 10 6 registros, arquivo de ídice ocupa 24 10 6 = 24Mb 28 29 Para arquivos de ídice que cabem em RAM: Carrega-se todo o ídice em um vetor Busca Depois de carregado o ídice, qualquer registro é localizado e recuperado em RAM com O(1) acessos exteros qq. cosulta será O(1), ao preço fixo dos acessos para ler todo o ídice Em RAM, localização da chave o ídice é muito rápida Se ídice ão estiver ordeado, busca é seqüecial Mas ormalmete matém-se o ídice ordeado, para permitir BB Para arquivos de ídice que cabem em RAM: Carrega-se todo o ídice em um vetor Iserção ovo registro é iserido o fial do arquivo de dados ou segudo uma política do tipo first-fit ou worst-fit um registro associado é também iserido o ídice cotém a chave e o byte offset do ovo registro o arquivo de dados se ídice está em vetor ordeado, iserção demada deslocametos mas em RAM, isso ão demada qualquer acesso 30 31

Para arquivos de ídice que cabem em RAM: Carrega-se todo o ídice em um vetor Remoção registro é removido do arquivo de dados segudo alguma política de marcação de registros removidos (p. ex. first-fit) Para arquivos de ídice que cabem em RAM: Carrega-se todo o ídice em um vetor Atualização o registro associado deve também ser removido do ídice deslocametos ou marcação da célula correspodete do vetor ão demada qualquer acesso 32 33 Para arquivos de ídice que cabem em RAM: Carrega-se todo o ídice em um vetor Atualização Altera-se o registro o arquivo de dados Se atualização mudou o valor da chave (remoção + iserção): altera-se o registro o vetor de ídices em RAM chave e, evetualmete, byte offset (porquê???) reordea-se o vetor de ídices Se atualização ão mudou o valor da chave: se tamaho do registro ão aumeta, ada muda o ídice caso cotrário, muda-se apeas o byte offset o ídice 34 Para arquivos de ídice que cabem em RAM: Ao fial de uma seção de operações deve-se atualizar o arquivo de ídice o disco caso sua cópia em memória teha sido alterada É imperativo que o programa se proteja cotra ídices desatualizados queda de eergia crashs do sistema (software ou do hardware) Idéias? 35 Preveção de Ídices Desatualizados Bibliografia Deve haver um mecaismo que permita saber se o ídice está atualizado em relação ao arquivo de dados Possibilidade: Um flag de status é setado o arquivo ídice matido em disco assim que a sua cópia a memória é alterada Esse flag pode ser matido o registro cabeçalho do arquivo ídice, e atualizado sempre que o ídice é reescrito o disco Se um programa detecta que o ídice está desatualizado, uma fução é ativada que recostrói o ídice a partir do arquivo de dados M. J. Folk ad B. Zoellick, File Structures: A Coceptual Toolkit, Addiso Wesley, 1987. 36 41