Vous êtes sur la page 1sur 4

Instituto Tecnolgico De Minatitln

CARRERA:
Ing. En Sistemas Computacionales

ALUMNO:
Erick Eduardo Gonzlez Esteban

MATERIA:

Estructura de Base de Datos

MAESTRO:
Secchi Ruz Jorge Alberto

rboles

Las listas ligadas, las pilas y las colas son estructuras de datos lineales. Un rbol es una
estructura de datos no lineal de dos dimensiones, con propiedades especiales. Tres nodos contienen dos o ms ligas. Esta seccin explica los rboles binarios rboles cuyos nodos contienen dos ligas (ninguna, una, o ambas de las cuales pueden ser NULL). El nodo raz es el primer nodo del rbol. Cada liga del nodo raz hace referencia a un hijo. El hijo izquierdo es el primer nodo del subrbol izquierdo, y el hijo derecho es el primer nodo del subrbol derecho. A los hijos de un nodo se les conoce como hermanos. A un nodo sin hijos se le conoce como nodo hoja. Los cientficos en computacin generalmente dibujan rboles del nodo raz hacia abajo; exactamente de manera contraria a los rboles naturales. En esta seccin creamos un rbol binario especial llamado rbol binario de bsqueda. Un rbol binario de bsqueda (sin valores duplicados de nodos) tiene la caracterstica de que los valores de cualquier subrbol izquierdo son menores que el valor de su nodo padre, y que los valores de cualquier subrbol derecho son mayores que el valor de su nodo padre. (La figura 12.18) muestra un rbol binario de bsqueda con 12 valores. Observe que la forma del rbol binario de bsqueda que corresponde al conjunto de datos puede variar, de acuerdo con el orden en que se inserten los valores en el rbol.

Los pasos para insertar un nodo en un rbol binario de bsqueda son los siguientes: 1. Si *ptrArbol es NULL crea un nuevo nodo Llama a malloc, asigna a *ptr rbol la memoria asignada, asigna a (*ptrArbol) ->dato el entero a almacenarse asigna el valor NULL a (*ptrArbol) ->ptrlzq y a (*ptrArbol) ->ptrDer y devuelve el control a quien hizo la llamada (ya sea a main o a una llamada anterior a inserta Nodo). 2. Si el valor de *ptrArbol no es NULL y el valor a insertar es menor que (*ptrArbol) >dato, la funcin inserta Nodo es llamada con la direccin de (*ptrArbol) ->ptrlzq. Si el valor a insertar es mayor que (*ptrArbol) ->dato, la funcin inserta Nodo es llamada con la direccin de (*ptrArbol) ->ptrDer. De lo contrario, los pasos recursivos continan hasta que se encuentra un apuntador NULL, despus se ejecuta el paso 1) para insertar el nuevo nodo. Las funciones inOrden preOrden y postOrden reciben un rbol (es decir, el apuntador hacia el nodo raz del rbol), y lo recorren.

Los pasos para un recorrido inOrden son: 1. Recorre el subrbol izquierdo inOrden. 2. Procesa el valor del nodo. 3. Recorre el subrbol derecho inOrden. El valor de un nodo no se procesa hasta que se procesan los valores de su subrbol izquierdo. El recorrido inOrden del rbol correspondiente Observe que el recorrido inOrden de un rbol binario de bsqueda imprime los valores de los nodos en orden ascendente. El proceso de creacin de un rbol binario de bsqueda en realidad ordena los datos y, por lo tanto, a este proceso se le conoce como ordenamiento de un rbol binario. Los pasos para un recorrido en preOrden son: 1. Procesa el valor del nodo. 2. Recorre el subrbol izquierdo en preOrden. 3. Recorre el subrbol derecho en preOrden.

El valor de cada nodo se procesa conforme se visitan los nodos. Despus de que se procesa el valor de un no-do dado, se procesan los valores del subrbol izquierdo, y despus los valores del subrbol derecho. El recorrido en preOrden del rbol correspondiente a la figura 12.21 es: 27 13 6 17 42 33 48 Los pasos para un recorrido en postOrden son: 1. Recorre el subrbol izquierdo en postOrden. 2. Recorre el subrbol derecho en postOrden. 3. Procesa el valor del nodo. El valor de cada nodo no se imprime hasta que se imprimen los valores de sus hijos. El recorrido en postOrden del rbol correspondiente a la figura 12.21 es: 6 17 13 33 48 42 27

El rbol binario de bsqueda facilita la eliminacin de duplicados. Conforme se crea el rbol, se reconoce cualquier intento de insertar un valor duplicado, ya que en cada comparacin, un duplicado seguir las mismas decisiones, ve hacia la izquierda o ve hacia la derecha, que el valor original. Por lo tanto, el duplicado en algn momento se comparar con un nodo del rbol que contenga el mismo valor. En ese momento, el valor duplicado simplemente se descarta.

Vous aimerez peut-être aussi