Computing">
Arboles
Arboles
Arboles
// De Marcos
//-----<) Clase 1
(>---------------------------------------------------------------------------------
-------------
package Arbol_Binario;
private T dato;
private Nodo padre;
this.etiqueta = etiqueta;
this.dato = dato;
this.padre = padre;
hijoIzq = null;
hijoDer = null;
}
public T getDato() {
return dato;
}
public Nodo getPadre() {
return padre;
}
//-----<) Clase 2
(>---------------------------------------------------------------------------------
-------------
package Arbol_Binario;
import java.util.LinkedList;
public ArbolBinario() {
this.raiz = null;
}
//------------------------------------------------------------------------------
public boolean existeRaiz() {
return getRaiz() != null;
}
if (aux != null) {
return aux;
}
}
if (raiz.getHijoDer() != null) {
aux = buscarNodo(raiz.getHijoDer(), etiqueta);
if (aux != null) {
return aux;
}
}
return null;
}
if (aux.getHijoIzq() == null) {
aux.setHijoIzq(new Nodo(etiquetaNodo, null, aux));
return true;
}
if (aux.getHijoDer() == null) {
aux.setHijoDer(new Nodo(etiquetaNodo, null, aux));
return true;
}
return false;
}
if (raiz.getHijoIzq() != null) {
cantidadNodos = contarNodos(raiz.getHijoIzq(), cantidadNodos);
}
if (raiz.getHijoDer() != null) {
cantidadNodos = contarNodos(raiz.getHijoDer(), cantidadNodos);
}
return cantidadNodos;
}
if (aux.getHijoIzq().getEtiqueta().equals(etiquetaNodo)) {
aux.setHijoIzq(null);
return true;
}
if (aux.getHijoDer().getEtiqueta().equals(etiquetaNodo)) {
aux.setHijoDer(null);
return true;
}
return false;
}
return descendientes;
}
if (raiz.getHijoIzq() != null) {
descendientes.add(raiz.getHijoIzq());
descendientesDeNodo(raiz.getHijoIzq(), descendientes);
}
if (raiz.getHijoDer() != null) {
descendientes.add(raiz.getHijoDer());
descendientesDeNodo(raiz.getHijoDer(), descendientes);
}
return descendientes;
}
public LinkedList<Nodo> ancestrosDeNodo(String etiquetaNodo) {
return ancestros;
}
if (raiz.getPadre() != null) {
ancestros.add(raiz.getPadre());
ancestrosDeNodo(raiz.getPadre(), ancestros);
}
return ancestros;
}
return ancestrosDeNodo(etiquetaNodo).size() + 1;
}
//-------< Recorridos
>----------------------------------------------------------------------------------
--------
public LinkedList<Nodo> recorridoPreOrden() {
if (existeRaiz()) {
return recorridoPreOrden(raiz, new LinkedList<>());
}
return null;
}
lista.add(raiz);
if (raiz.getHijoIzq() != null) {
recorridoPreOrden(raiz.getHijoIzq(), lista);
}
if (raiz.getHijoDer() != null) {
recorridoPreOrden(raiz.getHijoDer(), lista);
}
return lista;
}
if (raiz.getHijoIzq() != null) {
recorridoInOrden(raiz.getHijoIzq(), lista);
}
lista.add(raiz);
if (raiz.getHijoDer() != null) {
recorridoInOrden(raiz.getHijoDer(), lista);
}
return lista;
}
if (raiz.getHijoIzq() != null) {
recorridoPosOrden(raiz.getHijoIzq(), lista);
}
if (raiz.getHijoDer() != null) {
recorridoPosOrden(raiz.getHijoDer(), lista);
}
lista.add(raiz);
return lista;
}