Package mx.unam.ciencias.edd
Class ArbolBinario<T>
java.lang.Object
mx.unam.ciencias.edd.ArbolBinario<T>
- Direct Known Subclasses:
ArbolBinarioCompleto
,ArbolBinarioOrdenado
Clase abstracta para árboles binarios genéricos.
La clase proporciona las operaciones básicas para árboles binarios, pero deja la implementación de varias en manos de las subclases concretas.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
Clase interna protegida para vértices. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
El número de elementosprotected ArbolBinario<T>.Vertice
La raíz del árbol. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor sin parámetros.ArbolBinario
(Coleccion<T> coleccion) Construye un árbol binario a partir de una colección. -
Method Summary
Modifier and TypeMethodDescriptionint
altura()
Regresa la altura del árbol.Busca el vértice de un elemento en el árbol.boolean
Nos dice si un elemento está en el árbol binario.boolean
Compara el árbol con un objeto.boolean
esVacia()
Nos dice si el árbol es vacío.int
Regresa el número de elementos que se han agregado al árbol.void
limpia()
Limpia el árbol de elementos, dejándolo vacío.protected ArbolBinario<T>.Vertice
nuevoVertice
(T elemento) Construye un nuevo vértice, usando una instancia deArbolBinario<T>.Vertice
.raiz()
Regresa el vértice que contiene la raíz del árbol.toString()
Regresa una representación en cadena del árbol.protected ArbolBinario<T>.Vertice
vertice
(VerticeArbolBinario<T> vertice) Convierte el vértice (visto como instancia deVerticeArbolBinario
) en vértice (visto como instancia deArbolBinario<T>.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, iterator, spliterator
-
Field Details
-
raiz
La raíz del árbol. -
elementos
protected int elementosEl número de elementos
-
-
Constructor Details
-
ArbolBinario
public ArbolBinario()Constructor sin parámetros. Tenemos que definirlo para no perderlo. -
ArbolBinario
Construye un árbol binario a partir de una colección. El árbol binario tendrá los mismos elementos que la colección recibida.- Parameters:
coleccion
- la colección a partir de la cual creamos el árbol binario.
-
-
Method Details
-
nuevoVertice
Construye un nuevo vértice, usando una instancia deArbolBinario<T>.Vertice
. Para crear vértices se debe utilizar este método en lugar del operadornew
, para que las clases herederas de ésta puedan sobrecargarlo y permitir que cada estructura de árbol binario utilice distintos tipos de vértices.- Parameters:
elemento
- el elemento dentro del vértice.- Returns:
- un nuevo vértice con el elemento recibido dentro del mismo.
-
altura
public int altura()Regresa la altura del árbol. La altura de un árbol es la altura de su raíz.- Returns:
- la altura del árbol.
-
getElementos
public int getElementos()Regresa el número de elementos que se han agregado al árbol.- Specified by:
getElementos
in interfaceColeccion<T>
- Returns:
- el número de elementos en el árbol.
-
contiene
Nos dice si un elemento está en el árbol binario. -
busca
Busca el vértice de un elemento en el árbol. Si no lo encuentra regresanull
.- Parameters:
elemento
- el elemento para buscar el vértice.- Returns:
- un vértice que contiene el elemento buscado si lo encuentra;
null
en otro caso.
-
raiz
Regresa el vértice que contiene la raíz del árbol.- Returns:
- el vértice que contiene la raíz del árbol.
- Throws:
NoSuchElementException
- si el árbol es vacío.
-
esVacia
public boolean esVacia()Nos dice si el árbol es vacío. -
limpia
public void limpia()Limpia el árbol de elementos, dejándolo vacío. -
equals
Compara el árbol con un objeto. -
toString
Regresa una representación en cadena del árbol. -
vertice
Convierte el vértice (visto como instancia deVerticeArbolBinario
) en vértice (visto como instancia deArbolBinario<T>.Vertice
). Método auxiliar para hacer esta audición en un único lugar.- Parameters:
vertice
- el vértice de árbol binario que queremos como vértice.- Returns:
- el vértice recibido visto como vértice.
- Throws:
ClassCastException
- si el vértice no es instancia deArbolBinario<T>.Vertice
.
-