domingo, 1 de diciembre de 2013

Recorrido de un árbol binario.

Recorrido en Pre-Orden:
Visitar la Raíz.
Recorrer el subArbol izquierdo.
Recorrer el subArbol derecho.

Recorrido en In-Orden
Recorrer el subArbol izquierdo.
visitar la raíz.
Recorrer el subArbol derecho. 

Recorrido en Pos-Orden
Recorrer el subArbol izquierdo.
Recorrer el subArbol derecho.
visitar la raíz.


Figura numero 18

Los   recorridos del árbol ilustrado en la figura numero 18 en:
preOrden:  abdcef. 
inOrden: dbaecf.
posOrden: dbefca.

En la clase aparte de aprender los diferentes recorridos pude mirar con la practica realizado en el ejemplo anterior con la fugura numero 18 la manera en la cual se recorren estos arboles.

Funciones de Recorrido


Figura numero 19



Figura numero 20



Figura numero 21

Como Funciona la Función.

Figura numero 22
Se tiene el siguiente Árbol Binario:


Como ya sabemos que estas funciones son recursivas,  pasaremos a explicar mediante la pila del sistema operativo la cual en una función de autollamado guarda las instrucciones que quedan pendientes por realizar, el recorrido en pre orden del árbol mostrado en la figura numero 22 es:

  • La primera instrucción del método preOrden es mostrar el dato en el cual se esta apuntando actualmente en este caso lo primero en realizar es imprimir la letra A ya que la variable raíz actualmente apunta a ese objeto.
  • Se sigue con la siguiente instrucción la cual es el llamado a la función pero con la referencia del objeto que se encuentra a su izquierda, y en la pila del sistema operativo queda almacenada la instrucción siguiente que es otro autollamado con la  dirección del objeto que se encuentra a la izquierda, en la figura numero 23 se muestran las instrucción que van quedando por realizar en los diferentes autollamados que se realizan en la función.


Figura Numero 23

Resultado del árbol en pre orden: A B D C E F

Se logro tener mas destreza para la realización de un método recursivo y como es el funcionamiento de este, lograre tener aun mas mirando el funcionamiento de los demás métodos.  

Arboles de Expresión

Árbol binario completo para representar y evaluar expresiones aritméticas, sus hojas son los operando y el resto de nodo sus operadores.

Expresión: a+b*c

Posibles Arboles:

Figura Numero 24

Arbol
Correcto
A
      x
B
      x
C                      
   ü   
D
       x
E
       x

Criterios para crear arboles de Expresión

Expresión: a+b*c
                String posfija: abc*+

             

Figura numero 25

Como aprendimos que para crear un árbol de expresión los nodos raíces del arbol o subarbol  son los operadores, entoces el tipo de recorrido de estos arboles es de tipo posOrden en caso de que se quiera mostrar la expresión en postija.

Apreciaciones Importantes:

En la figura numero 24 el árbol C es de expresión porque  es completo y sus hojas son los operando y el resto sus operadores como lo aprendido anteriormente.

En la Figura numero 25 se muestra como se lleva el proceso para crear arboles de expresión mediante una pila de tipo NodoArbolBin en la cual se almacenan los operando y al encontrar un operador se saca de la pila dos operando y se crea un subárbol, así hasta terminar de crear el árbol.


Árbol Binario de Búsqueda (ABB)

Proponen un algoritmo que genera una estructura ordenada y hace mas eficiente el proceso de busqueda que las otras estructuras vistas con anterioridad.

Eficiencia: Menor numero de comparaciones al buscar un elemento.
Por cada avance se descarta un 50% de los elementos.

No hay comentarios:

Publicar un comentario