public class Arbol
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Arbol.Tipos
Esta clase contiene los tipos de arboles.
|
Modifier and Type | Field and Description |
---|---|
private int |
altura
La altura del arbol.
|
private ArbolNodo |
arbol
El arbol.
|
private java.util.List<java.util.List<ArbolNodo>> |
niveles
Los nivles del arbol con todos sus nodos.
|
private java.util.List<ArbolNodo> |
order
El orden que ha sido usado.
|
private int |
size
La cantidad de nodos que están en el arbol.
|
Constructor and Description |
---|
Arbol()
Inicilizar el arbol.
|
Modifier and Type | Method and Description |
---|---|
int |
calcularAltura(ArbolNodo nodo)
Encontrar y devolver la altura del arbol usando recursividad.
|
void |
calcularNiveles(ArbolNodo nodo,
int nivel)
Calcular los nivles del arbol usando recursividad.
|
boolean |
eliminar(int valor)
Eliminar un valor del arbol.
|
int |
getAltura()
Devolver la altura del arbol.
|
ArbolNodo |
getArbol()
Devolver el arbol.
|
java.util.List<java.util.List<ArbolNodo>> |
getNiveles()
Devolver la lista de nivles del arbol.
|
java.util.List<ArbolNodo> |
inOrder()
Ordenar el arbol usando inOrder.
|
void |
inOrder(ArbolNodo nodo)
El meteodo recursivo de inOrder que acumulará los nodos en una lista.
|
boolean |
insertar(int valor)
Insertar un valor al arbol.
|
java.util.List<ArbolNodo> |
postOrder()
Ordenar el arbol usando postOrder.
|
void |
postOrder(ArbolNodo nodo)
El meteodo recursivo de postOrder que acumulará los nodos en una lista.
|
java.util.List<ArbolNodo> |
preOrder()
Ordenar el arbol usando preOrder.
|
void |
preOrder(ArbolNodo nodo)
El meteodo recursivo de preOrder que acumulará los nodos en una lista.
|
boolean |
rotarDerecha(int valor)
Rotar el arbol usando el hijo a la izquerda como un pivot.
|
boolean |
rotarIzquerda(int valor)
Rotar el arbol usando el hijo a la derecha como un pivot.
|
private void |
setAltura(int altura)
Cambiar la altura del arbol.
|
int |
size()
Devolver la cantidad de nodos que están en el arbol.
|
private ArbolNodo arbol
private int size
private int altura
private java.util.List<java.util.List<ArbolNodo>> niveles
private java.util.List<ArbolNodo> order
public boolean insertar(int valor)
valor
- int: El valor a insertar.public boolean eliminar(int valor)
valor
- int: El valor a elminiar.public boolean rotarIzquerda(int valor)
valor
- int: El valor a rotar.public boolean rotarDerecha(int valor)
valor
- int: El valor a rotar.public java.util.List<ArbolNodo> preOrder()
public java.util.List<ArbolNodo> inOrder()
public java.util.List<ArbolNodo> postOrder()
public void preOrder(ArbolNodo nodo)
nodo
- ArbolNodo: El nodo a trabajar.public void inOrder(ArbolNodo nodo)
nodo
- ArbolNodo: El nodo a trabajar.public void postOrder(ArbolNodo nodo)
nodo
- ArbolNodo: El nodo a trabajar.public ArbolNodo getArbol()
public int size()
public int getAltura()
private void setAltura(int altura)
altura
- int: La altura nueva.public java.util.List<java.util.List<ArbolNodo>> getNiveles()
public int calcularAltura(ArbolNodo nodo)
nodo
- ArbolNodo: El nodo a trabajar.public void calcularNiveles(ArbolNodo nodo, int nivel)
nodo
- ArbolNodo: El nodo a trabajar.nivel
- int: El Nivel donde está el nodo.