Friends I'm having trouble resolving this exercise, and I do not know how else to do it. I got to implement the tree with recursion, but I could not leave the Knot empty and some sheets with number, according to the exercise. Then I need to add the items that are in the sheets.
Nojava
public class No {
public int valor;
public No direito;
public No esquerdo;
public No(int valor) {
this.valor = valor;
}
}
ArvoreBinaria.java
public class ArvoreBinaria {
private No raiz;
public void inserir(int valor) {
if (raiz == null) {
raiz = new No(valor);
} else {
No novo = new No(valor);
inserir(raiz, novo);
}
}
private void inserir(No arvore, No novo) {
if (novo.valor > arvore.valor) {
if (arvore.direito == null) {
arvore.direito = novo;
} else {
inserir(arvore.direito, novo);
}
} else {
if (arvore.esquerdo == null) {
arvore.esquerdo = novo;
} else {
inserir(arvore.esquerdo, novo);
}
}
}
EXERCISE
- Uma árvore tem nós; - Um nó pode ou não ter outros nós; - Um nó, não folha, tem sempre um nó do lado direito e outro do lado esquerdo - As folhas não tem nós abaixo; - As folhas têm associado um número inteiro
The following figure represents 3 instances of binary trees
It is intended to implement an algorithm in Java that allows the instantiation of this type. You should have a method that returns the sum of the tree, that is the sum of the leaves.
Tips:
- A node, not leaf, always has a node to the left and a node to the right
- After building a node, you can add other nodes
- Recursion
- Do not use Java complex type (% with% s,% with% s and etc)