Sunteți pe pagina 1din 4

2012

Investigacion In-order, Pre-order y Post-order


Is411
Arturo Snchez Ortiz

Excalibur [Escriba el nombre de la compaa] 01/01/2012

Investigacin de impresiones en IN-ORDER, PRE-ORDER Y POST-ORDER. Los tres mtodos ms comunes para recorrer un rbol se pueden describir, de forma recursiva, del siguiente modo: preorder: raz, subrbol izquierdo, subrbol derecho inorder: subrbol izquierdo, raz, subrbol derecho postorder: subrbol izquierdo, subrbol derecho, raz

Recorridos sobre rboles binarios Recorridos en profundidad El mtodo de este recorrido es tratar de encontrar de la cabecera a la raz en nodo de unidad binaria. Ahora pasamos a ver la implementacin de los distintos recorridos:

Recorrido en preorden En este tipo de recorrido se realiza cierta accin (quizs simplemente imprimir por pantalla el valor de la clave de ese nodo) sobre el nodo actual y posteriormente se trata el subrbol izquierdo y cuando se haya concluido, el subrbol derecho. Otra forma para entender el recorrido con este metodo seria seguir el orden: nodo raiz, nodo izquierda, nodo derecha.

void preorden(tArbol *a) { if (a != NULL) { tratar(a); preorden(a->hIzquierdo); preorden(a->hDerecho); } } //Realiza una operacin en nodo

Recorrido en postorden En este caso se trata primero el subrbol izquierdo, despus el derecho y por ltimo el nodo actual. Otra forma para entender el recorrido con este metodo seria seguir el orden: nodo izquierda, nodo derecha, nodo raiz.
void postorden(tArbol *a) { if (a != NULL) { postorden(a->hIzquiedo); postorden(a->hDerecho); tratar(a); } } //Realiza una operacin en nodo

Recorrido en inorden En este caso se trata primero el subrbol izquierdo, despus el nodo actual y por ltimo el subrbol derecho. En un ABB este recorrido dara los valores de clave ordenados de menor a mayor. Otra forma para entender el recorrido con este metodo seria seguir el orden: nodo izquierda,nodo raiz,nodo derecha.

Esquema de implementacin:
void inorden(tArbol *a) { if (a != NULL) { inorden(a->hIzquierdo); tratar(a); nodo inorden(a->hDerecho); } } //Realiza una operacin en

Imprimir un rbol de forma ordenada. Operacin de Biselacin Un rbol biselado o rbol Splay es un rbol binario de bsqueda auto-balanceable, con la propiedad adicional de que a los elementos accedidos recientemente se acceder ms rpidamente en accesos posteriores. Realiza operaciones bsicas como pueden ser la insercin, la bsqueda y el borrado en un tiempo del orden de O(log n). Para muchas secuencias no uniformes de operaciones, el rbol biselado se comporta mejor que otros rboles de bsqueda, incluso cuando el patrn especfico de la secuencia es desconocido. Esta estructura de datos fue inventada por Robert Tarjan y Daniel Sleator. Todas las operaciones normales de un rbol binario de bsqueda son combinadas con una operacin bsica, llamada biselacin. Esta operacin consiste en reorganizar el rbol para un cierto elemento, colocando ste en la raz. Una manera de hacerlo es realizando primero una bsqueda binaria en el rbol para encontrar el elemento en cuestin y, a continuacin, usar rotaciones de rboles de una manera especfica para traer el elemento a la cima. Alternativamente, un algoritmo "de arriba a abajo" puede combinar la bsqueda y la reorganizacin del rbol en una sola fase. Esta operacin traslada un nodo x, que es el nodo al que se accede, a la raz . Para realizar esta operacin debemos rotar el rbol de forma que en cada rotacin el nodo x est ms cerca de la raz. Cada biselacin realizada sobre el nodo de inters mantiene el rbol parcialmente equilibrado y adems los nodos recientemente accedidos se encuentran en las inmediaciones de la raz. De esta forma amortizamos el tiempo empleado para realizar la biselacin.

S-ar putea să vă placă și