Sistema de gerenciamento de alunos com índices primário e secundário em arquivos binários
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
makemake run
# ou
./mainmake clean1. Inserir aluno- Adiciona novo aluno com atualização dos índices2. Buscar por matrícula- Recuperação rápida via índice primário3. Buscar por curso- Lista todos os alunos de um curso4. Remover aluno- Remove e libera espaço para reuso5. Gerar do CSV- Importa dados e constrói os índices
| 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 |
matricula,nome,curso
2021001,João Silva,Engenharia de Software
2021002,Maria Santos,Ciência da Computação- Busca por curso é sequencial (O(n))
- Não há suporte para caracteres especiais em nomes/cursos