46 lines
1.0 KiB
Java
46 lines
1.0 KiB
Java
/**
|
|
* No da arvore binaria
|
|
* @author Max do Val Machado
|
|
*/
|
|
class No {
|
|
public int elemento; // Conteudo do no.
|
|
public No esq, dir; // Filhos da esq e dir.
|
|
public int nivel; //Numero de niveis abaixo do no
|
|
|
|
/**
|
|
* Construtor da classe.
|
|
* @param elemento Conteudo do no.
|
|
*/
|
|
public No(int elemento) {
|
|
this(elemento, null, null, 1);
|
|
}
|
|
|
|
/**
|
|
* Construtor da classe.
|
|
* @param elemento Conteudo do no.
|
|
* @param esq No da esquerda.
|
|
* @param dir No da direita.
|
|
*/
|
|
public No(int elemento, No esq, No dir, int nivel) {
|
|
this.elemento = elemento;
|
|
this.esq = esq;
|
|
this.dir = dir;
|
|
this.nivel = nivel;
|
|
}
|
|
|
|
/**
|
|
* Cálculo do número de níveis a partir de um vértice
|
|
*/
|
|
public void setNivel() {
|
|
this.nivel = 1 + Math.max(getNivel(esq),getNivel(dir));
|
|
}
|
|
|
|
/**
|
|
* Retorna o número de níveis a partir de um vértice
|
|
* @param no nó que se deseja o nível.
|
|
*/
|
|
public static int getNivel(No no) {
|
|
return (no == null) ? 0 : no.nivel;
|
|
}
|
|
}
|