Estruturas de Dados - T.332

Capítulo 10

Gerenciamento de Arquivos
Parte II: Árvores e Listas


[RTF] [PostScript]


10.3. Técnicas de Gerência de Arquivos Utilizando Árvores

Duas opções:

10.3.1. Aspectos Gerais

Vantagens

Desvantagens

Resumo Geral

Árvores são indicadas para aplicações onde uma pesquisa rápida é muito importante, poucas alterações ocorrem em um período de tempo e a atualização da árvore (rebalanceamento) pode ser feita em batch em períodos em que a estrutura não é utilizada.


10.3.2. Árvore Binária Paginada

Vantagem

Desvantagens


10.3.3. Árvore B

Vantagens

Desvantagens


10.3.4. Árvore B+

Vantagens Árvore B+:


10.3.5. Árvore K-D

Estrutura

Vantagens

Desvantagens

Resumo


10.4. Técnicas de Gerência de Arquivos Utilizando Listas

10.4.1. Atualização de Arquivos com Índices em Lista

Independentemente do tipo de indexação por lista, dois aspectos são gerais:

  1. Um registro pode ser membro de duas ou mais listas.
  2. Marcar um registro como excluído é aqui muito mais prático do que atualizar diversas listas.


10.4.2. Multilista

O arquivo multilista é a implementação mais intuitiva da idéia de se utilizar listas encadeadas para indexar chaves secundárias.

Princípios básicos:

Exemplo de um diretório (baseado em Claybrook 77):

Visão "pictórica" do encadeamento provocado pelas listas dos gráficos anteriores (Claybrook 77):

Formas de Pesquisa

    1. Para todas expressões conjuntivas escolhemos o valor de chave com o menor número de elementos para a geração da tabela inicial. Esta tabela é gerada copiando-se todos os registros correspondentes do arquivo de registros de dadso para lá.
      Em seguida, todas as outras listas de valores-de-chave são percorridas e elementos da primeira tabela não encontrados nestas são eliminados.
    2. Para operações disjuntivas, o procedimento consiste em se iniciar com uma tabela gerada a partir da maior lista de elementos e incluir elementos das outras listas ainda não presentes.
    3. Para combinações de operações conjuntivas e disjuntivas a geração de tabelas intermediárias é necessária. Claybrook sugere aqui, que inicialmente se transforme a expressão-pergunta na forma disjuntiva normal, para depois iniciar o processo de busca.

Vantagens

Desvantagens

Resumo

A Multilista é um método intuitivo. A sua grande desvantagem é que precisamos sempre copiar os registros por completo para uma tabela para podermos trabalhar com eles em pesquisas que não sejam simples.



10.4.3. Lista Invertida

A organização de um arquivo Lista Invertida consiste de um diretório contendo uma ou mais listas-índice e um ou mais arquivos endereços de de registros de dados, além do arquivo de registrso de dados em si.

O diretório é constituído por dois grupos de arquivos:

  1. Listas-índice para valores de chaves;
  2. Arquivo com apontadores para registros organizado por valores de chave.
Uma entrada do índice de uma chave possui os seguintes dados:
  1. O valor da chave;
  2. Um indicador para a lista de registros contendo o valor de chave;
  3. O número de registros da lista.

Uma entrada da lista de registros possui os seguintes dados:

  1. Um conjunto de m campos contendo endereços de registros de dados;
  2. Um apontador para a posição do próximo registro da lista de registros.


Exemplo (as listas-índice para cargo e depto estão omitidas, da mesma forma só foram representados endereços de registro para idade = 18 e 20 e salário = 10.000 e 20.000):

Exemplo (Claybrook 77):

Técnica de Pesquisa

Vantagens

Desvantagens