Skip to content

About

Codigo para treino de Indexação Secundaria

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

📚 Sistema de Gerenciamento de Alunos // Pratica de Indexação secundária

https://img.shields.io/badge/Label C++

Sistema de gerenciamento de alunos com índices primário e secundário em arquivos binários

📖 About

Sistema completo para gerenciamento de alunos com:

  • Índice Primário - Busca rápida por matrícula usando busca binária (O(log n))
  • Índice Secundário - Busca por curso usando lista invertida
  • Reuso de Espaço - Espaços de registros removidos são reutilizados
  • Importação CSV - Gere os arquivos binários a partir de um arquivo CSV

📥 Download e Uso

Compilação

make

Execução

make run
# ou
./main

Limpeza

make clean

🎮 Funcionalidades

  • 1. Inserir aluno - Adiciona novo aluno com atualização dos índices
  • 2. Buscar por matrícula - Recuperação rápida via índice primário
  • 3. Buscar por curso - Lista todos os alunos de um curso
  • 4. Remover aluno - Remove e libera espaço para reuso
  • 5. Gerar do CSV - Importa dados e constrói os índices

📁 Estrutura dos Arquivos

Arquivo Descrição
alunos.dat Registros dos alunos
indices.dat Índice primário (matrícula → offset)
indices_curso.dat Índice secundário (curso → lista invertida)
lista_invertida.dat Listas encadeadas de matrículas por curso
disponiveis.dat Offsets disponíveis para reuso

📝 Formato do CSV

matricula,nome,curso
2021001,João Silva,Engenharia de Software
2021002,Maria Santos,Ciência da Computação

👾 Known Issues

  • Busca por curso é sequencial (O(n))
  • Não há suporte para caracteres especiais em nomes/cursos

About

Codigo para treino de Indexação Secundaria

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages