Anda di halaman 1dari 10

Estrutura de Dados II

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.

Estrutura das Listas Invertidas

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.

Exemplo de Lista Invertida


Exemplo (as listas-ndice para cargo e depto esto omitidas, da mesma forma s foram representados endereos de registro para idade = 18 e 20 e salrio = 10.000 e 20.000):

Exemplo de Lista Invertida

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.

Pesquisa em Listas Invertidas

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.

Pesquisa em Listas Invertidas


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.

Bom estudo para Prova!!!!!

Contatos

Prof. Dr Luiz Antnio Pereira Neves


neves@sbs.udesc.br

Algoritmos e Programao

10

Anda mungkin juga menyukai