[ED204] Contando folhas


Neste problema deverá apenas submeter uma classe BTree<T> (e não um programa completo).

Código Base

Use como base a classe BTree<T> (ver código | download de BTNode.Java e BTree.Java), que representa uma árvore binária, tal como dada nas aulas).

O problema

Acrescente à classe dada um novo método public int numberLeafs() que devolve o número de folhas da árvore. Por exemplo, as árvores da figura seguinte têm respectivamente 4, 3 e 2 folhas (indicadas a amarelo).

Submissão

Deverá submeter apenas a classe BTree<T>, acrescentando o método numberLeafs como pedido (e sem apagar ou modificar nenhum dos outros métodos dados como base). Pode assumir que terá acesso no Mooshak à classe BTNode<T> (não a pode mudar) e se precisar pode criar outros métodos auxiliares. O Mooshak irá criar várias instâncias da sua classe e irá fazer uma série de testes ao método por si implementado.

Exemplos de Input/Output

Os exemplos correspondem às três árvores da figura:

Árvore em preorder   Chamada   Valor de retorno
t = 6 3 2 N N 5 N N 10 8 N N 25 N N  t.numberLeafs()  4
t = 6 3 2 N N 5 N N 10 N N t.numberLeafs() 3
t = 6 3 N N 10 N N t.numberLeafs() 2


Última actualização: