Package mx.unam.ciencias.edd
Class ArbolBinarioCompleto<T>
java.lang.Object
mx.unam.ciencias.edd.ArbolBinario<T>
mx.unam.ciencias.edd.ArbolBinarioCompleto<T>
Clase para árboles binarios completos.
Un árbol binario completo agrega y elimina elementos de tal forma que el árbol siempre es lo más cercano posible a estar lleno.
-
Nested Class Summary
Nested classes/interfaces inherited from class mx.unam.ciencias.edd.ArbolBinario
ArbolBinario.Vertice
-
Field Summary
Fields inherited from class mx.unam.ciencias.edd.ArbolBinario
elementos, raiz
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor sin parámetros.ArbolBinarioCompleto
(Coleccion<T> coleccion) Construye un árbol binario completo a partir de una colección. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Agrega un elemento al árbol binario completo.int
altura()
Regresa la altura del árbol.void
bfs
(AccionVerticeArbolBinario<T> accion) Realiza un recorrido BFS en el árbol, ejecutando la acción recibida en cada elemento del árbol.void
Elimina un elemento del árbol.iterator()
Regresa un iterador para iterar el árbol.Methods inherited from class mx.unam.ciencias.edd.ArbolBinario
busca, contiene, equals, esVacia, getElementos, limpia, nuevoVertice, raiz, toString, vertice
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ArbolBinarioCompleto
public ArbolBinarioCompleto()Constructor sin parámetros. Para no perder el constructor sin parámetros deArbolBinario
. -
ArbolBinarioCompleto
Construye un árbol binario completo a partir de una colección. El árbol binario completo tiene los mismos elementos que la colección recibida.- Parameters:
coleccion
- la colección a partir de la cual creamos el árbol binario completo.
-
-
Method Details
-
agrega
Agrega un elemento al árbol binario completo. El nuevo elemento se coloca a la derecha del último nivel, o a la izquierda de un nuevo nivel.- Parameters:
elemento
- el elemento a agregar al árbol.- Throws:
IllegalArgumentException
- sielemento
esnull
.
-
elimina
Elimina un elemento del árbol. El elemento a eliminar cambia lugares con el último elemento del árbol al recorrerlo por BFS, y entonces es eliminado.- Parameters:
elemento
- el elemento a eliminar.
-
altura
public int altura()Regresa la altura del árbol. La altura de un árbol binario completo siempre es ⌊log2n⌋.- Overrides:
altura
in classArbolBinario<T>
- Returns:
- la altura del árbol.
-
bfs
Realiza un recorrido BFS en el árbol, ejecutando la acción recibida en cada elemento del árbol.- Parameters:
accion
- la acción a realizar en cada elemento del árbol.
-
iterator
Regresa un iterador para iterar el árbol. El árbol se itera en orden BFS.- Returns:
- un iterador para iterar el árbol.
-