You are on page 1of 9

Arboles Binarios Definicin: Un rbol Binario es un conjunto de finito de Elementos, de nombre Nodos de forma que: El rbol Binario es Vaci

si no tiene ningn elemento en el. El rbol Binario contiene un Nodo Raz y los dos que parten de l, llamados Nodo Izquierdo y Nodo Derecho. Los rboles tiene 3 Recorridos Diferentes los cuales son: Pre-Orden In-Orden Post-Orden Pre-Orden Definicin: El Recorrido Pre-Orden lo recorre de la siguiente manera, viaje a travs del rbol Binario desplegando el Contenido en la Raz, despus viaje a travs del Nodo Izquierdo y despus a travs del Nodo Derecho. Detalle: Temp toma el Valor de la Raz y compara si el rbol tiene algn Elemento, de otra manera Desplegara rbol Vaci y terminara el mtodo. Si el rbol tiene elementos dentro de l, lo recorrer y viajara a travs de los Arreglos Izq y Der para determinar que valor meter en la Pila y en Temp para de esta manera imprimir el siguiente Elemento correspondiente. Algoritmo:

PreOrd(Arbol, Der, Izq, Pila, Raiz) Temp Top Pila[Top] Nulo Raiz

Si Raiz = Nulo

Imprimir rbol Vaci y Salir Repetir mientras Temp Nulo Imprimir Arbol[Temp] Si Der[Temp] Nulo Top Top + 1 Der[Temp]

Pila[Top]

Si Izq[Temp] Nulo Temp Si no: Temp Top Pila[Top]; Top - 1 Izq[Temp]

Fin del ciclo Salir

Diagrama:

Corrida:

In-Orden Definicin: El Recorrido In-Orden lo recorre de la siguiente manera, viaje a travs del rbol Binario desplegando el Contenido en el Nodo Izquierdo despus la Raz y finalmente viaja a travs del Nodo Derecho. Detalle: Temp toma el Valor de la Raz y compara si el rbol tiene algn Elemento, de otra manera Desplegara rbol Vaci y terminara el mtodo. Si el rbol tiene

elementos dentro de l, lo recorrer y viajara a travs de los Arreglos Izq y Der para determinar que valor meter en la Pila y en Temp para de esta manera imprimir el siguiente Elemento correspondiente. Algoritmo:

PreOrd(Arbol, Der, Izq, Pila, Raiz) Temp Top Pila[Top] Nulo Raiz

Si Raiz = Nulo Imprmir Arbol Vacio y Salir Etiqueta: Mientras Temp Nulo Top Top + 1 Temp Izq[Temp]

Pila[Top] Temp

Fin del ciclo Temp Top Pila[Top] Top - 1

Mientras Temp Nulo Imprimir Arbol[Temp] Si Der[Temp] Nulo Temp Der[Temp]

Ir a Etiqueta Temp Top Pila[Top] Top - 1

Fin del ciclo Salir

Diagrama:

Corrida:

In-Orden Definicin: El Recorrido In-Orden lo recorre de la siguiente manera, viaje a travs del rbol Binario desplegando el Contenido en el Nodo Izquierdo despus el Nodo Derecho y finalmente viaja a travs de la Raiz. Detalle: Temp toma el Valor de la Raz y compara si el rbol tiene algn Elemento, de otra manera Desplegara rbol Vaci y terminara el mtodo. Si el rbol tiene elementos dentro de l, lo recorrer y viajara a travs de los Arreglos Izq y Der para determinar que valor meter en la Pila y en Temp para de esta manera imprimir el siguiente Elemento correspondiente. Algoritmo:

PostOrd(Arbol, Der, Izq, Pila, Raiz) Temp Top Pila[Top] Nulo Raiz

Si Raiz = Nulo Imprimir Arbol Vacio y Salir Etiqueta:

Mientras Temp Nulo Top Top + 1 Temp

Pila[Top]

Si Der[Temp] Nulo Top Top + 1 - (Der[Temp]) Izq[Temp] Pila[Top] Top - 1

Pila[Top] Temp Temp Top

Fin del ciclo Mientras Temp 0 Imprimir Arbol[Temp] Si Arbol[Temp] = Info[Raiz] Salir Temp Top Pila[Top] Top - 1

Fin del ciclo Si Temp < 0 Temp = -(Temp) Ir a Etiqueta Salir

Diagrama:

Corrida:

Bsqueda Definicin: La Bsqueda es Similar a todas los Mtodos anteriores de Bsqueda, simplemente efecta un recorrido comparando el Elemento que deseas encontrar contra cada uno de los Elementos en los Arreglos. Detalle: El Algoritmo de Bsqueda compara el Elemento a buscar con cada uno de los datos de nuestro rbol, compara si el Elemento con el Nodo Raz, si no se encuentra en la Raz compara Elemento contra la Raz para empezar a viajar por el rbol respectivamente, usa un mtodo similar al anterior hasta encontrar el Elemento. De otra forma la bsqueda es fallida. Algoritmo:

Busqueda(Arbol, Der, Izq, Pila, Raiz, Elem) Si Raiz = Nulo Imprimir Arbol Vacio Pos Pad Nulo Nulo

Regresar Pos y Pad Salir Si Elem = Arbol[Raiz]

Imprimir Elemento Encontrado Pos Pad Raiz Nulo

Regresar Pos y Pad Salir Si Elem < Arbol[Raiz] Temp Temp2 Si no: Temp Temp2 Der[Raiz] Raiz Izq[Raiz] Raiz

Mientras Temp Nulo Si Elem = Arbol[Temp] Imprimir Elemento Encontrado Pos Pad Temp Temp2

Regresar Pos y Pad Salir Si Elem < Arbol[Temp] Temp2 Temp Si no: Temp2 Temp Temp Der[Temp] Temp Izq[Temp]

Fin del ciclo

Imprimir Elemento no Encontrado Pos Pad Nulo Temp2

Regresar Pos y Pad Salir

Diagrama:

Corrida:

Programa click here:

You might also like