uoc.ei.tads
Class ArbolBinario.RecorridoPreorden<E>

java.lang.Object
  extended by uoc.ei.tads.ArbolBinario.RecorridoOrdenBasico<E>
      extended by uoc.ei.tads.ArbolBinario.RecorridoPreorden<E>
All Implemented Interfaces:
java.io.Serializable, Recorrido<E>
Enclosing class:
ArbolBinario<E>

protected static class ArbolBinario.RecorridoPreorden<E>
extends ArbolBinario.RecorridoOrdenBasico<E>

Clase que proporciona un recorrido de las posiciones. Basada en el pattern Iterator, soporta múltiples recorridos simultáneos y independientes del contenedor. Es sensible a eventuales alteraciones de la estructura de posiciones.

See Also:
Recorrido.haySiguiente(), Recorrido.siguiente(), Serialized Form

Field Summary
 
Fields inherited from class uoc.ei.tads.ArbolBinario.RecorridoOrdenBasico
arbol, pila
 
Constructor Summary
ArbolBinario.RecorridoPreorden(ArbolBinario<E> arbol)
          Constructor.
 
Method Summary
protected  void apilaDescendientesConMasPrioridad(Posicion<E> padre)
          En el caso del recorrido preorden, dado un nodo, este siempre aparecerá antes de que sus descendientes en el recorrido, por lo tanto, un nodo no tiene descendientes con más prioridad que él.
protected  void apilaDescendientesConMenosPrioridad(Posicion<E> padre)
          En el caso del recorrido preorden, los descendientes con menos prioridad que un nodo son sus dos hijos (y a la vez los descendientes de estos). tenemos bastante con apilar los dos hijos, pues posteriormente cuando llegamos en el recorrido a estos hijos ya los trataremos y ya trataremos sus hijos adecuadamente.
 
Methods inherited from class uoc.ei.tads.ArbolBinario.RecorridoOrdenBasico
haySiguiente, siguiente
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArbolBinario.RecorridoPreorden

public ArbolBinario.RecorridoPreorden(ArbolBinario<E> arbol)
Constructor.

Parameters:
arbol - El arbol a recorrer.
Method Detail

apilaDescendientesConMasPrioridad

protected void apilaDescendientesConMasPrioridad(Posicion<E> padre)
En el caso del recorrido preorden, dado un nodo, este siempre aparecerá antes de que sus descendientes en el recorrido, por lo tanto, un nodo no tiene descendientes con más prioridad que él.

Specified by:
apilaDescendientesConMasPrioridad in class ArbolBinario.RecorridoOrdenBasico<E>

apilaDescendientesConMenosPrioridad

protected void apilaDescendientesConMenosPrioridad(Posicion<E> padre)
En el caso del recorrido preorden, los descendientes con menos prioridad que un nodo son sus dos hijos (y a la vez los descendientes de estos). tenemos bastante con apilar los dos hijos, pues posteriormente cuando llegamos en el recorrido a estos hijos ya los trataremos y ya trataremos sus hijos adecuadamente.

Specified by:
apilaDescendientesConMenosPrioridad in class ArbolBinario.RecorridoOrdenBasico<E>