Este algoritmo faz parte de uma série de trabalhos realizados na cadeira de estruturas de dados II do curso de Ciência da Computação, ministrado na Universidade Federal do Pampa (UNIPAMPA).
O algoritmo carrega dados que compunham perfis de estudantes, esses dados estão contidos em documentos .txt e localizados em um diretório informado pelo usuário. Tais dados atendem as seguintes variaveis em uma estrutura: Matricula, Nome, Curso, E-mail e Telefone. O código organiza esses perfis em uma arvore, seja binária ou AVL, onde a chave de cada folha é igual a matricula armazenada na estrutura de dados. Ou seja, cada estudante representa uma folha, e a identificação de cada folha é igual a matricula do respectivo estudante.
Além de permitir a visualização da arvore criada, o código também aceita dois tipos de busca:
- Uma busca onde os ID a serem pesquisados estão contidos em um arquivo .txt
- Uma busca "pseudo aleatória", onde o usuário entra com x quantidade de buscas que deseja fazer e o código procura IDs aleatórios x vezes.
O usuário deve fornecer, no momento de rodar o código, o nome do diretório que se encontra os dados a serem inseridos na arvore, para isso usa-se da seguinte sintaxe:
python Binario.py Diretorio
ou python AVL.py Diretorio
O arquivo buscas.txt contém os IDs a serem pesquisados de acordo com o primeiro tipo de busca. É possivel edita-lo adicionando os IDs desejados, desde que cada ID esteja em uma linha distinta.
Todas as saídas são impressas no terminal onde o código esta sendo exacutado. Independe do tipo de busca realizado, o código deve retornar o perfil do estudante que deu match com o ID pesquisado.
Apesar de cumprir com suas funções, tem-se como objetivo criar uma interface gráfica para que as operações - como a busca e inserção na arvore - possam ser melhor visualizadas.
Para gerar os dados a serem utilizados por este algoritmo, é possivel utilizar o seguinte Gerador de dados aleatórios