aloha…
Tou com um problema… preciso de fazer um método que transforma um array numa árvore binária de pesquisa balanceada.
public Node arrayToTree(int[] a)
Sendo que o array a ser transformado está ordenado e como a árvore tem um root um left e um right eu sei que posso partir do principio que o root da dita árvore será o meio do array .
root = a.length/2;
mas agora o root.right será o meio da parte direita do array … e o root.left será o meio da parte esquerda do array… e por aí fora…
Como eu faço isto ? Terá que ser um algoritmo recursivo ?