24 de mayo de 2017

Árboles binarios (recorridos).

   Una operación muy común en un árbol binario es la de recorrer todo el árbol en un orden específico pero ¿Cuál sería el orden natural de recorrido de un árbol binario? Piense por un momento en ello.

   A la operación de recorrer un árbol binario de una forma específica y de enumerar o visitar sus nodos, se le conoce como visitar el árbol, es decir, procesar el valor o dato de cada uno de los nodos para realizar algo con él.

   En general, se definen tres métodos de recorrido sobre un árbol binario, y para ello, se deberán tomar en cuenta las siguientes consideraciones:
  1. No se necesita hacer nada para un árbol binario vacío.
  2. Todos los métodos se definen recursivamente.
  3. Siempre se recorren la raíz y los subárboles izquierdo y derecho, la diferencia radica en el orden en que se visitan.
   Para recorrer un árbol binario no vacío en orden previo (orden de primera profundidad), se ejecutan tres operaciones:
  1. Visitar la raíz.
  2. Recorrer el subárbol izquierdo en orden previo.
  3. Recorrer el subárbol derecho en orden previo.
   Ahora bien, para recorrer un árbol binario no vacío en orden (orden simétrico), se ejecutan tres operaciones:
  1. Recorrer el subárbol izquierdo en orden.
  2. Visitar la raíz.
  3. Recorrer el subárbol derecho en orden.
   Finalmente, para recorrer un árbol binario no vacío en orden posterior, se ejecutan tres operaciones:
  1. Recorrer el subárbol izquierdo en orden posterior.
  2. Recorrer el subárbol derecho en orden posterior.
  3. Visitar la raíz.
   Tome en consideración que los tres recorridos anteriormente descritos son únicamente tres posibilidades de seis recorridos distintos que es posible realizar sobre un árbol binario; sin embargo, son los recorridos más comunes.

   Los otros tres recorridos posibles se describen a continuación, y a falta de un mejor nombre, se les denominará recorridos inversos.

Para recorrer un árbol binario no vacío en orden previo inverso, se ejecutan tres operaciones:
  1. Visitar la raíz.
  2. Recorrer el subárbol derecho en orden previo inverso.
  3. Recorrer el subárbol izquierdo en orden previo inverso.
   Por otro lado, para recorrer un árbol binario no vacío en orden inverso, se ejecutan tres operaciones:
  1. Recorrer el subárbol derecho en orden inverso.
  2. Visitar la raíz.
  3. Recorrer el subárbol izquierdo en orden inverso.
   Finalmente, para recorrer un árbol binario no vacío en orden posterior inverso, se ejecutan tres operaciones:
  1. Recorrer el subárbol derecho en orden posterior inverso.
  2. Recorrer el subárbol izquierdo en orden posterior inverso.
  3. Visitar la raíz.

No hay comentarios.: