sexta-feira, 11 de novembro de 2016

Implementado árvore binária em Java (SOLID e boas práticas)

Implementação de árvore binária em Java
Procurando por implementações de árvore binária na internet, me deparei com muitas implementações em Java que feriam vários princípios da orientação a objetos. 
Isso me motivou ao desafio de implementar essa estrutura de dados respeitando ao máximo os princípios SOLID e boas práticas de desenvolvimento de software.
Para isso, além dos cinco princípios, estarei usando como referência os livros Clean Code e Effective Java.

Criei um repositório no GitHub chamado java-data-structures, no qual estarei disponibilizando as estruturas que for implementado em Java.
O código inicial da árvore binária já está disponível no repositório, no pacote binary_tree.
A partir desse início, meu objetivo é explicar as decisões de design que tomei e refinar o código, de acordo com o que a literatura da área recomenda.
Caso tenha alguma sugestão ou dúvida, deixe seu comentário ou entre em contato.

BinaryTree.java


TreeNode.java


NodeValue.java