Este projeto, válido para a matéria de Teoria de Grafos, do 4º semestre de Ciência da Computação no Centro Universitário do Estado do Pará (CESUPA), ministrada pelo professor Daniel Leal Souza, visa a implementação e análise de diferentes tipos de árvores binárias e seus algoritmos de balanceamento. A equipe pesquisou e apresentou os seguintes tipos de árvores binárias:
- Árvore k-D: Explicação detalhada sobre sua estrutura e aplicações.
- Árvores Rubro-Negras (Red-Black Trees): Implementação e explicação de seu funcionamento.
- Árvores AVL: Implementação e explicação de seu funcionamento.
Os algorítmos seguem o que foi pedido na estrutura do projeto, e contam com algumas funcionalidades, sendo elas:
- Implementação de Árvores Binárias: Utilização do conceito de nós, semelhante a listas duplamente encadeadas, sem o uso de bibliotecas externas.
- Operações Suportadas:
- Inserção de nós com balanceamento automático, quando necessário.
- Exclusão de nós com balanceamento automático, quando necessário.
- Visualização: Uso de bibliotecas de plotagem para demonstrar os procedimentos executados nas árvores binárias.
- Tamanho Mínimo: Cada árvore contém, no mínimo, 23 nós.
Nesse projeto, foram utilizadas algumas tecnologias a fim de ajudar na visualização de organização das árvores, sendo elas:
- Jupyter Notebook
- NetworkX
- Matplotlib
- Graphviz
Para realização do projeto, juntamos uma equipe, e dividimos forças para alcançar uma boa estrutura, trabalhando em conjunto quando necessário, e ajudando uns aos outros. A equipe contou com:
- Giovanni Braga S. Vasconcelos - Criação e apresentação de Algorítmos das árvores AVL e RBT.
- Antonio Heitor Gomes Azevedo - Apresentação de árvore e algorítmo RBT.
- Caua Maia de Souza Nara - Apresentação de árvores k-D.