Boas pessoal, estou aqui com um problema em desenvolver um metodo que me diga se uma arvore binária está balanceada ou nao.
O metodo tem que retornar um boolean, como faço para ver se a arvore está ou não balanceada?
A linguagem em que estou a trabalhar é o JAVA.
Mr. Brightside
13-06-2008, 17:03
Calculas a profundidade de todas as folhas. Se estiverem todas à profundidade n ou n-1, então a árvore está equilibrada.
arkannis
13-06-2008, 17:36
Boas pessoal, estou aqui com um problema em desenvolver um metodo que me diga se uma arvore binária está balanceada ou nao.
O metodo tem que retornar um boolean, como faço para ver se a arvore está ou não balanceada?
A linguagem em que estou a trabalhar é o JAVA.
Queres a solução ou queres ajuda?
Se precisares da solução diz que eu mostro ;)
Mas aqui vai uma ajuda:
Uma árvore vazia está equilibrada. Uma árvore não vazia está equilibrada se as suas sub-árvores estão equilibradas e se a diferença entre as alturas das suas duas sub-árvores não exceder 1.
Com isto assim escrito, só tens praticamente que traduzir para java.