Ícone Hollow Knight

Aguarde um pouquinho ... As informações do DEV estão carregando!

Contato

yunguerdvorak@hotmail.com

+55 (22) 99205-6168

Index C

Projeto: Programa em C

Tipo: Universitário

Sobre: Indexação de aquivos em C

O programa Index C foi feito para a disciplina de Programação de Arquivos da UFF, criado na linguagem C. Tem como objetivo ser um indexador de arquivos, tanto binário como de texto, para facilitar a busca de palavras em grandes arquivos.

Para executar o programa é necessário fazer o download do mesmo no GitHub, assim que feito o download, execute o main.c, para processar um arquivo é necessário que o mesmo esteja na mesma pasta que os outros arquivos, assim que processar o arquivo, salve o mesmo como índice para iniciar as buscas.

O Desafio

O desafio na criação do programa primeiro começa em entender o que é a indexação de arquivos, que nada mais é que um processo computacional de se construir índices sobre uma base de dados. Índices são estrutura de dados que permitem a realização mais eficiente de operações como consulta (busca) por meio de um “resumo” dos dados existentes na base. Também foi necessário entender a questão da busca, tanto simples quanto composta para a implementação posteriormente.

Além disso, também têm o desafio da parte prática, ou seja, codificar, foi necessário aprofundar um pouco o conhecimento com manipulação de arquivos para a criação do índice, e também o conhecimento de manipulação de listas já que é essencial para a questão da busca tanta simples quanto composta.

Desafios

Estruturando o Código

Para a estruturação do código usamos tanto listas encadeadas como listas duplamente encadeadas com sentinela, tanto para os arquivos quanto para as palavras, as palavras possuem um struct que guarda a palavra em questão, a quantidade de ocorrências e a quantidade de arquivos que a palavra é encontrada. A estruturação das ocorrências segue o mesmo esquema, existe uma struct que guarda o arquivo em que a ocorrência acontece, a quantidade de vezes que a palavra foi encontrada e a linha em que ela foi encontrada.

Já para a estruturação do índice do arquivo ele segue algo semelhante, também possui uma struct, ela possui as quantidades de arquivos lido para criação do índice, os arquivos em questão, e as quantidades de palavras de cada arquivo.

Estruturação do Código

Exemplos do Código

Code Preview