/Gerador-ArvoreBinaria-e-AVL

Um organizador de dados em arvores binárias e AVL

Primary LanguagePython

Gerador de Arvore Binaria e AVL

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).

Objetivo do código

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.

Entradas

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.

Saídas

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.

Considerações

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.

Observações

Para gerar os dados a serem utilizados por este algoritmo, é possivel utilizar o seguinte Gerador de dados aleatórios