Repositório completo com implementações de diversas estruturas de dados baseadas em árvores em Java, desenvolvido para estudos aprofundados de algoritmos e estruturas de dados.
Este repositório contém implementações detalhadas de diferentes tipos de árvores, cada uma com suas características e casos de uso específicos. Todas as implementações incluem versões iterativas e recursivas quando aplicável, com foco em aprendizado e compreensão dos conceitos fundamentais.
Estrutura básica onde cada nó tem no máximo dois filhos, com elementos menores à esquerda e maiores à direita.
Características:
- Inserção: O(log n) médio, O(n) pior caso
- Busca: O(log n) médio, O(n) pior caso
- Pode degenerar em lista encadeada se não balanceada
Operações:
- Inserção (iterativa e recursiva)
- Busca
- Remoção
- Percursos (pré-ordem, em-ordem, pós-ordem, por nível)
- Encontrar mínimo/máximo
- Altura da árvore