Listas Invertidas
Professor:
Luiz A. P. Neves
neves@sbs.udesc.br
Roteiro
Lista Invertida Estrutura da Lista Invertida Exemplo de Lista Invertida Pesquisas em Listas Invertidas
Algoritmos e Programao
Listas Invertidas
A organizao de um arquivo Lista Invertida consiste de um diretrio contendo uma ou mais listas-ndice e um ou mais arquivos endereos de registros de dados, alm do arquivo de registros de dados em si. O diretrio constitudo por dois grupos de arquivos: Listas-ndice para valores de chaves; Arquivo com apontadores para registros organizado por valores de chave.
Uma entrada do ndice de uma chave possui os seguintes dados: O valor da chave; Um indicador para a lista de registros contendo o valor de chave; O nmero de registros da lista. Uma entrada da lista de registros possui os seguintes dados: Um conjunto de n campos contendo endereos de registros de dados; Um apontador para a posio do prximo registro da lista de registros.
No exemplo anterior os endereos de registro dos arquivos presentes na figura esto representados por setas, endereos de registros do arquivo de registros de dados por valores de endereo relativo. Evidentemente podem existir vrios arquivos de endereos de registro e vrias listas-ndice. Alternativamente podemos colocar os registros de endereos todos em um nico arquivo.
Pesquisas de chave simples geram uma tabela de sada com todos os registros com o valor de chave para aquela chave, depois de ter sido gerada uma tabela de endereos de registros com o valor de chave. Pesquisas booleanas so as mais complexas. Nestas pesquisas, vrias tabelas de endereos so geradas, iniciando-se sempre pelo valor de chave com o menor nmero de ocorrncias.
Considerando que os filhos do dono da empresa tm idade=18 e salrio=10.000 Se fizermos a pesquisa (idade = 18 & salrio = 10.000) para descobrir que so os filhos dos donos da empresa, vamos ter como tabela inicial (103, 205, 101), pois salrio=10.000 tem s 3 registros na sua lista de endereos de registros. A seguir a lista de endereos de registros de idade = 18 percorrida e todos os no encontrados so eliminados da tabela. Pesquisas mais complexas vo dar origem a tabelas mais complexas.
Contatos
Algoritmos e Programao
10