|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuoc.ei.tads.ArbolAbstracto<E>
uoc.ei.tads.ArbolBinario<E>
public abstract class ArbolBinario<E>
Clase abstracta que define las operaciones de cualquiera arbol binario, el cual se caracteriza para organizar sus elementos (nodos) formando una jerarquía: todo nodo (excepto la raíz) es descendiente de un nodo único, y puede ser ascendente de un máximo de dos nodos (cuando no tiene descendientes se llama hoja). Implementa los recorridos habituales y otras operaciones auxiliares que se derivan de las operaciones básicas ya definidas en este nivel de la jerarquía. Implementa también la interfaz Serializable para poder convertir a cadenas o flujos de bytes (streams) los objetos del contenedor y grabarlos o transmitirlos.
Nested Class Summary | |
---|---|
protected static class |
ArbolBinario.RecorridoHijos<E>
Clase que proporciona un recorrido de las posiciones hijas. |
protected static class |
ArbolBinario.RecorridoInorden<E>
Clase que proporciona un recorrido de las posiciones. |
protected static class |
ArbolBinario.RecorridoOrdenBasico<E>
Clase que proporciona el comportamiento básico para los tres recorridos preorden, inordre y postorden. |
protected static class |
ArbolBinario.RecorridoPorNiveles<E>
Clase que proporciona un recorrido de las posiciones. |
protected static class |
ArbolBinario.RecorridoPostorden<E>
Clase que proporciona un recorrido de las posiciones. |
protected static class |
ArbolBinario.RecorridoPreorden<E>
Clase que proporciona un recorrido de las posiciones. |
Constructor Summary | |
---|---|
ArbolBinario()
|
Method Summary | |
---|---|
Iterador<E> |
elementos()
Accesor de lectura de los elementos que hay en el contenedor. |
boolean |
esHoja(Posicion<E> nodo)
Comprueba si el arbol o subárbol tiene algún hijo. |
abstract Posicion<E> |
hijoDerecho(Posicion<E> pos)
Accesor de lectura del hijo derecho de una posición del arbol. |
abstract Posicion<E> |
hijoIzquierdo(Posicion<E> pos)
Accesor de lectura del hijo izquierdo de una posición del arbol. |
Recorrido<E> |
hijos(Posicion<E> padre)
Método que soporta múltiples recorridos, de las posiciones hijas de la posición de referencia, simultáneos e independientes entre ellos. |
abstract Posicion<E> |
insertarHijoDerecho(Posicion<E> padre,
E elem)
Añade un elemento como hijo derecho de la posición escogida, si se puede. |
abstract Posicion<E> |
insertarHijoIzquierdo(Posicion<E> padre,
E elem)
Añade un elemento como hijo izquierdo de la posición escogida, si se puede. |
Recorrido<E> |
posiciones()
Método que soporta múltiples recorridos, de las posiciones del contenedor, simultáneos e independientes entre ellos. |
Recorrido<E> |
recorridoInorden()
Método que soporta múltiples recorridos, de las posiciones del contenedor, simultáneos e independientes entre ellos. |
Recorrido<E> |
recorridoPostorden()
Método que soporta múltiples recorridos, de las posiciones del contenedor, simultáneos e independientes entre ellos. |
Recorrido<E> |
recorridoPreorden()
Método que soporta múltiples recorridos, de las posiciones del contenedor, simultáneos e independientes entre ellos. |
protected void |
toString(java.lang.StringBuffer sb,
Posicion<E> posicion)
|
Methods inherited from class uoc.ei.tads.ArbolAbstracto |
---|
estaVacio, numElems, numHijos, recorridoPorNiveles, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface uoc.ei.tads.Arbol |
---|
borrar, insertar, intercambiar, raiz, reemplazar |
Methods inherited from interface uoc.ei.tads.Contenedor |
---|
numElems |
Constructor Detail |
---|
public ArbolBinario()
Method Detail |
---|
public abstract Posicion<E> insertarHijoIzquierdo(Posicion<E> padre, E elem)
padre
- posición de referenciaelem
- elemento que se quiere añadir al arbol
public abstract Posicion<E> insertarHijoDerecho(Posicion<E> padre, E elem)
padre
- posición de referenciaelem
- elemento que se quiere añadir al arbol
public abstract Posicion<E> hijoIzquierdo(Posicion<E> pos)
pos
- posición de referencia
public abstract Posicion<E> hijoDerecho(Posicion<E> pos)
pos
- posición de referencia
public Recorrido<E> hijos(Posicion<E> padre)
padre
- posición de referencia
ExcepcionPosicionInvalida
- si la posición es null o no
válidapublic boolean esHoja(Posicion<E> nodo)
esHoja
in interface Arbol<E>
esHoja
in class ArbolAbstracto<E>
nodo
- posición de referencia
ExcepcionPosicionInvalida
- si la posición es null o no
válidapublic Iterador<E> elementos()
elementos
in interface Contenedor<E>
elementos
in class ArbolAbstracto<E>
ExcepcionPosicionInvalida
- si se quiere obtener el siguiente
elemento de la enumeración y éste no existeIterador.haySiguiente()
,
Iterador.siguiente()
public Recorrido<E> posiciones()
posiciones
in interface Arbol<E>
posiciones
in class ArbolAbstracto<E>
ArbolBinario.RecorridoPorNiveles
public Recorrido<E> recorridoPreorden()
recorridoPreorden
in interface Arbol<E>
recorridoPreorden
in class ArbolAbstracto<E>
ArbolBinario.RecorridoPreorden
public Recorrido<E> recorridoInorden()
ArbolBinario.RecorridoInorden
public Recorrido<E> recorridoPostorden()
recorridoPostorden
in interface Arbol<E>
recorridoPostorden
in class ArbolAbstracto<E>
ArbolBinario.RecorridoPostorden
protected void toString(java.lang.StringBuffer sb, Posicion<E> posicion)
toString
in class ArbolAbstracto<E>
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |