Códigos utilizados para aprendizagem sobre o conceito de Árvores em Java no segundo semestre de Engenharia de Software da FIAP! Contém conceitos de árvores de busca binária e AVL, com suas respectivas funções.
Apenas para fins de aprendizado, mas através da criação de árvores, você pode organizar dados de maneiras diferentes, contendo vantagens na organização de elementos dependendo de cada finalidade.
Árvores de busca binária contém algumas regras, como, elementos menores na esquerda e maiores na direita. Cada nó da árvore pode ter apenas dois filhos. Com a inserção e remoção de nós, cria-se vários níveis, tornando o acesso a memória mais frequente, e consequentemente, tornando o programa mais lento, pois a árvore tem muitos níveis e fica desbalanceada, para isso surge a árvore AVL.
Árvores AVL contém níveis de balanceamento e devem ter níveis equilibrados conforme os nós folha (Nós nas extremidades que não tem filhos). Com esse balanceamento, a quantia de nível fica menor e é mais eficiente de procurar um nó específico.
Também vi o conceito de árvores B, onde são árvores multidimensionais, que busca reduzir a quantidade de níveis pois a busca pode ser sequencial para cada nó, já que contém várias chaves, porém não foi implementada no Java.
Baixe, e localmente abra em uma IDE, compile e execute os arquivos .java! PS: O Main é a árvore AVL.
