Está en la página 1de 9

rboles

Estructura de Datos 1

Los rboles son estructuras dinmicas no lineales, hasta ahora solo se han manejado estructuras estticas y dinmicas lineales, es decir a cada elemento de la estructura solo le sigue otro, en el caso de los rboles a estos les puede seguir uno o mas elementos, es decir que un elemento de la estructura puede apuntar a varios, adems de esto son dinmicos ya que se pueden crear elementos que conformen el rbol cuando se requiera y en cualquier parte del programa. Estructuras estticas Arreglos ilas "olas Estructuras lineales Arreglos ilas "olas Listas Estructuras dinmicas Listas !rboles Estructuras no lineales !rboles !rboles

rboles generales E#isten diferentes tipos de rboles cada uno de ellos con diferentes caracter$sticas, pero en general un rbol se define de la siguiente manera% Estructura jerrquica dinmica, homog&nea y no lineal formada por un conjunto de elementos conocidos como nodos, en los cuales el primer nodo que se crea se conoce como nodo ra$' y de este se derivan los dems. "uando no e#iste ning(n nodo en el rbol se dice que se tiene un rbol vac$o. "ada nodo que se deriva del nodo ra$' o de otro nodo se puede manejar cono un rbol, en base a esto dentro del rbol se manejan t&rminos como predecesor, descendiente , hijo, padre, ancestro, etc.

rboles
Estructura de Datos 1

Representacin de rboles. Esta se puede dar de diferentes formas la mas utili'ada es la representaci)n por medio de grafos.

Trminos utilizados con rboles. a* +odo rbol que no es vac$o tiene un nodo ra$' b* +odo nodo # desciende directo de un nodo y se conoce como hijo de y. c* +odo nodo y de cual desciende un nodo # se conoce como padre de #. d* El grado de un nodo se determina por el numero de descendientes que este tenga. e* El grado de un rbol se determina por el nodo de mayor grado. f* +odo nodo que no tenga hijos se le conoce como nodo terminal de hoja. g* +odo nodo que no es ra$' o terminal se le conoce como nodo interno. h* El nivel de un nodo se determina por el numero de arcos que se recorren para llegar a el. La ra$' tiene nivel 1. i* La altura de un rbol se determina por el nodo de mayor nivel. j* +odos los nodos descendientes del mismo padre se conocen como hermanos. ,* eso es el numero de nodos del rbol sin contar la ra$' l* Longitud del camino es el numero de arcos que deben ser recorridos para llegar desde la ra$' al nodo #. or definici)n la ra$' tiene longitud de camino 1, y sus descendientes directos longitud de camino -.

rboles
Estructura de Datos 1

rboles Binarios
.n rbol binario, es aquel que tiene como m#imo - descendientes, es decir cada uno de los nodos del rbol tiene un m#imo de - hijos/ adems si es binario de b(squeda se define de manera formal como% 0 ara todo nodo + del rbol debe cumplirse que todos los valores de los nodos del subrbol i'quierdo de + sern menores o iguales al valor del nodo +. De forma similar, todos los valores de los nodos del subrbol derecho de + deben ser mayores o iguales al valor del nodo + 1. or lo mismo se pueden reali'ar las operaciones de b(squeda, inserci)n y eliminaci)n, de manera ms eficiente en este tipo de rbol. or ejemplo si tenemos los siguientes valores para insertar en un rbol binario de b(squeda% 2341546748-44374-6 El rbol quedar$a con la siguiente estructura%

rboles
Estructura de Datos 1

INSERCCI N EN !N RB"# BIN$RI" %E B&S'!E%$( 1. Debe compararse la clave a insertar con la ra$' del rbol. 9i es mayor, debe avan'arse hacia el subrbol derecho. 9i es menor, debe avan'arse hac$a el subrbol i'quierdo. -. :epetir sucesivamente el paso 1 hasta que se cumpla alguna de las siguientes condiciones% 1. El subrbol derecho es igual a vac$o, o el subrbol i'quierdo es igual a vac$o, en cuyo caso se procede a insertar el elemento en el lugar que le corresponde. -. La clave que quiere insertarse es igual a la ra$' del rbol, en cuyo caso no se reali'a la inserci)n.
B&S'!E%$

En el caso de la b(squeda es este tipo de rbol, por l)gica, ser movi&ndose en el rbol, dependiendo si el elemento a buscar es mayor o menor que la ra$', hasta que se encuentre o se determine que no esta en el rbol. or ejemplo si del rbol formado anteriormente buscamos el valor 46 "omparar$amos el )* con el +) que es la ra$', como )* es mayor nos mover$amos al subrbol derecho.

Ahora nuestra ra$' es ,*, comparamos )* con ,* y vemos que es menor que este, por lo que nos movemos hac$a el subrbol i'quierdo.

rboles
Estructura de Datos 1

De esta forma encontramos que )* se encuentra en el rbol. REC"RRI%"S EN RB"#ES. Los recorridos que se pueden hacer en los rboles binarios de b(squeda, son los mismo que en los rboles en general% Recorrido Preorden: ;isita la ra$' 9ubrbol i'quierdo 9ubrbol derecho Recorrido Inorden: 9ubrbol i'quierdo ;isita la ra$' 9ubrbol derecho Recorrido Postorden: 9ubrbol i'quierdo 9ubrbol derecho ;isita la ra$' or ejemplo si hacen los recorridos de este rbol%

rboles
Estructura de Datos 1

Recorrido Preorden: 34,10,25,56,46,82 Recorrido Inorden: 10,25,34,46,56,82 Recorrido Postorden: 25,10,46,82,56,34 B"RR$%" EN !N RB"# BIN$RI" %E B&S'!E%$ La operaci)n de borrado es un poco ms complicada que la de inserci)n. 1. 9i el elemento a borrar es terminal u hoja, simplemente se suprime. or ejemplo, si quiere eliminar -, del rbol

El rbol quedar$a%

rboles
Estructura de Datos 1

<

rboles
Estructura de Datos 1

-.4 9i el elemento a eliminar tiene un solo descendiente, entonces tiene que sustituirse por ese descendiente. or ejemplo si ahora quiere borrar el +)

El rbol quedar$a%

rboles
Estructura de Datos 1

2.4 9i el elemento a borrar tiene dos descendientes, entonces se tiene que sustituir por el nodo que se encuentra ms a la derecha del subrbol i'quierdo o por el nodo que se encuentra ms a la i'quierda del subrbol derecho. or ejemplo si ahora quiero eliminar el 67 %

El rbol quedar$a%

Antes de hacer la eliminaci)n, tenemos que buscar el elemento.

También podría gustarte