Está en la página 1de 5

Alberto Len Aparicio Algoritmos y Estructuras de Datos rboles ____________________________________________________________________________________________________________________

RBOLES Los rboles representan las estructuras no lineales y dinmicas de datos ms importantes en computacin. Los rboles pueden ser construidos con estructuras estticas y dinmicas. Las estticas son arreglos, registros y conjuntos, mientras que las dinmicas estn representadas por listas. Un rbol es una estructura jerrquica aplicada sobre una coleccin de elementos u objetos llamados nodos; uno de los cuales es conocido como raz. Adems se crea una relacin o parentesco entre los nodos dando lugar a trminos como padre, ijo, ermano, antecesor, sucesor, ancestro, etc. !"isten di#erentes #ormas de representacin de un rbol, entre las ms comunes se tienen las siguientes$ %ediante crculos y #lec as, %ediante parntesis anidados, %ediante notacin decimal de &e'ey. Algunas (eces se incluye entre los rboles el rbol nulo vaco, el cual, es un rbol sin nodos que se representa mediante la letra . )ualquier nodo del rbol podra tener un n*mero arbitrario de nodos ijos, a esto se le conoce como un rbol general, como se muestra en la siguiente #igura. +i se limita el n*mero de nodos ijos para cada nodo del rbol, digamos a un n*mero n > 2 ,llamado la aridad del rbol-, entonces el rbol de aridad n es llamado n-ario. La terminologa que por lo regular se utiliza para el manejo de rboles es la siguiente$ -HIJO. . es ijo de /, s y solo s el nodo . es apuntado por /. 0ambin se dice que . es descendiente directo de /. -PADRE. . es padre de / s y solo s el nodo . apunta a /. 0ambin se dice que . es antecesor de /. -HERMANO. &os nodos sern ermanos si son descendientes directos de un mismo nodo. -HOJA. +e le llama oja o terminal a aquellos nodos que no tienen rami#icaciones. -NODO INTERIOR. !s un nodo que no es raz ni terminal. -GRADO. !s el n*mero de descendientes directos de un determinado nodo. -GRADO DEL ARBOL !s el m"imo grado de todos los nodos del rbol. 1NIVEL. !s el n*mero de arcos que deben ser recorridos para llegar a un determinado nodo. 2or de#inicin la raz tiene ni(el 3. 1ALT RA. !s el m"imo n*mero de ni(eles de todos los nodos del rbol. -PE!O. !s el n*mero de nodos del rbol sin contar la raz. 1LONGIT D DE "AMINO. !s el n*mero de arcos que deben ser recorridos para llegar desde la raz al nodo .. 2or de#inicin la raz tiene longitud de camino 3, y sus descendientes directos longitud de camino 4 y as sucesi(amente. ORDEN DE LO! NODO!. 5eneralmente los rboles de un nodo se ordenan de izquierda a derec a. +i no se toma en cuenta el orden de los nodos ijos, entonces se abla de un rbol no ordenado. RBOLES BINARIOS Un rbol binario es un rbol de grado 4, en el que todo nodo del rbol tiene un subrbol binario izquierdo y derec o asociados. 6rbol 7inario )ompleto o Lleno$ !s un rbol binario en el que todos sus nodos, e"cepto las ojas, tienen siempre dos ijos ,el subrbol izquierdo y el derec o- no nulos. !l n*mero de nodos de un rbol completo se calcula por la #rmula$ 8*mero de nodos 9 4 13 ,donde es la altura-

Alberto Len Aparicio Algoritmos y Estructuras de Datos rboles ____________________________________________________________________________________________________________________

6rbol 7inario )ompleto de Altura o 2ro#undidad :$ !s un rbol 7inario )ompleto en donde todas las ojas estn en el ni(el :. !sta es una de las pocas estructuras de rbol que se pueden representar e#icientemente usando arreglos. Una e"presin es una secuencia de componentes l"icos ,to;ens-, que siguen reglas preescritas. Un to;en puede ser un operador o un operando. Un rbol binario de b*squeda es un rbol en el que todo nodo e"istente tiene un slo elemento y cumplen lo siguiente$ 1)ada oja es un operando. 1!l nodo raz y los nodos internos son operadores. 1Los subrboles son sub?e"presiones en las que el nodo raz es un operador.

&! !.2<!+=>8

6<7>L!+ 7=8A<=>+ &! 7UA@U!&A

10odas las cla(es del subrbol izquierdo son menores que la raz. 1 0odas las cla(es del subrbol derec o son mayores que la raz. 1Los subrboles izquierdo y derec o son tambin rboles de b*squeda.

Representacin en memoria :ay dos #ormas tradicionales de representar un rbol binario en memoria$ 3.12or medio de datos tipo punteros tambin conocidos como (ariables dinmicas o listas. !sta es la #orma ms utilizada, puesto que es la ms natural para tratar este tipo de estructuras. 4.12or medio de arreglos. Los nodos del rbol binario sern representados como registros que contendrn como mnimo tres campos. !n un campo se almacenar la in#ormacin del nodo. Los dos restantes se utilizarn para apuntar al subrbol izquierdo y derec o del subrbol en cuestin. Clasificacin de rboles binarios: !"isten cuatro tipos de rbol binario$

Alberto Len Aparicio Algoritmos y Estructuras de Datos rboles ____________________________________________________________________________________________________________________

&=+0=80>+. &os rboles binarios son distintos cuando sus estructuras son di#erentes. +=%=LA<!+. &os rboles binarios son similares cuando sus estructuras son idnticas, pero la in#ormacin que contienen sus nodos es di#erente. 6<7>L!+ 7=8A<=>+ !@U=AAL!80!+. +on aquellos rboles que son similares y que adems los nodos contienen la misma in#ormacin. )>%2L!0>+. +on aquellos rboles en los que todos sus nodos e"cepto los del *ltimo ni(el, tiene dos ijos; el subrbol izquierdo y el subrbol derec o. <ecorrer el subrbol izquierdo =8><&!8 !"aminar la raz <ecorrer el subrbol derec o inorden <!)><<=&> &! !"aminar la raz U8 A<7>L 2<!><&!8 <ecorrer el subrbol izquierdo en preorden <ecorrer el subrbol derec o en preorden <ecorrer el subrbol izquierdo en postorden 2>+0><&!8 <ecorrer el subrbol derec o en postorden !"aminar la raz Adems de estos recorridos tradicionales, se tienen los recorridos con(ersos, en los que el orden del recorrido se in(ierte a derec a1 izquierda, en (ez de izquierda B derec a. Cinalmente e"iste un recorrida llamado ni(el por ni(el en el que los nodos del rbol se (isitan por ni(eles a partir de cero y de izquierda a derec a. rboles en ebrados !"iste un tipo especial de rbol binario llamado en ebrado, el cual contiene ebras que pueden estar a la derec a o a la izquierda. A<7>L !8:!7<A&> A LA &!<!):A. !ste tipo de rbol tiene un apuntador a la derec a que apunta a un nodo antecesor. A<7>L !8:!7<A&> A LA =D@U=!<&A. !stos rboles tienen un apuntador a la izquierda que apunta al nodo antecesor en orden. 7>+@U! !ntenderemos como bosque a un conjunto normalmente ordenado de dos o ms rboles generales.

Alberto Len Aparicio Algoritmos y Estructuras de Datos rboles ____________________________________________________________________________________________________________________

RBOLES A!L Un rbol AAL es un rbol binario de b*squeda al que se le aEade una condicin de equilibrio. !sta condicin es que para todo nodo la altura de sus subrboles izquierdo y derec o pueden di#erir a lo sumo en 3. AAL son las iniciales de Adelson1Aels;ii y Landis, los ombres que idearon este tipo de rbol. Operaciones bsicas en los rboles binarios . Insercin. La insercin de un elemento en un rbol AAL es idntica que en un rbol binario de b*squeda, la di#erencia se encuentra en la comprobacin que ay que realizar posteriormente en los rboles AAL. !n un rbol AAL tras realizar la insercin ay que comprobar que se sigue manteniendo la condicin de equilibrio, o lo que es lo mismo, que la altura del subrbol izquierdo y la del subrbol derec o di#ieran en una unidad o sean iguales. +i se produce un desequilibrio ay que reequilibrar la estructura para que siga siendo un rbol AAL. Borrar. !l procedimiento de borrado es el mismo que en el caso de arbol binario de busqueda. La di#erencia se encuentra en el proceso de reequilibrado posterior. !ste proceso es idntico al que se realiza en la insercin, la *nica di#erencia es que en la insercin tras realizar una rotacin el rbol ya estaba equilibrado, mientras que en el borrado puede ser necesario realizar mas de una rotacin. <otacin +imple <!!@U=L=7<=> &! L>+ 6<7>L!+ AAL <otacin doble Las operaciones adicionales en un rbol AAl son anlogas a las de rboles de busque da binarios. Los rboles AAL son un subconjunto de los rboles de busque da binarios, por lo que sus aplicaciones son muy similares. RBOLES B Los rboles reciben su nombre de <. 7ayer, contienen entre n y 4n nodos, siendo n una constante dada. )omo consecuencia de esto se puede deducir que los rboles 7 no son rboles binarios como s lo son los binarios de b*squeda o los AAL. !n los rboles 7 los nodos se agrupan dentro de pginas, por lo que se podra de#inir a la pgina como un conjunto de nodos. Los rboles 7 deben cumplir las siguientes caractersticas en cuanto a estructura$ 3. 0odas las ojas en el rbol estn al mismo ni(el. 4. )ada nodo contiene entre n y 4n elementos, e"cepto la raz que tiene entre 3 y 4n. F. +i en nodo tiene m elementos, en nodo contendr G mH3 ijos. I. Los elementos de un nodo del rbol estn ordenados linealmente en el nodo. J. Los elementos del rbol 7 estn organizados siguiendo las propiedades de un A77, es decir, los elementos menores a la izquierda y los mayores a la derec a del nodo original.

Alberto Len Aparicio Algoritmos y Estructuras de Datos rboles ____________________________________________________________________________________________________________________

Operaciones bsicas en los rboles B Insertar. La primera accin a realizar en la operacin de insercin es localizar el lugar adecuado en el rbol donde se insertar el nue(o elemento. Una (ez localizado el lugar adecuado, ay que tener en cuenta el n*mero de nodos que tiene la pgina destino del nue(o elemento. +i tiene menos de 4 n, entonces se inserta el nue(o nodo y se da por #inalizada la operacin de insercin. La complejidad se produce cuando la pgina destino est al completo de su capacidad, es decir, tiene 4n nodos. !n estos casos el procedimiento a seguir es el siguiente$ 3. =nsertar el nodo como si realmente tu(iese sitio libre. 4. !"traer el nodo que ocupa la posicin del medio e insertarlo en la pgina padre. +i no ubiese pgina padre se creara una nue(a pgina con ese nodo. F. &i(idir la pgina original en dos nue(as pginas, cada una de ellas con n elementos. !stas pginas sern los ijos derec os e izquierdos del nodo que promocion a la pgina superior. I. +i la pgina a la que promociona el nodo mediano tambin se encuentra completa, se repetira la misma operacin de di(isin y promocin. )omo consecuencia de que todas las ojas deben estar en el *ltimo ni(el, los rboles 7 crecen acia arriba ,este crecimiento se produce cuando la insercin de un nodo en una pgina completa pro(oca su di(isin- y la ausencia de la restriccin de 4 ijos por nodo que tienen los binarios son caractersticas que los di#erencia del resto de rboles. Los rboles 7 tienen un campo de aplicacin similar a los rboles binarios de b*squeda, ya que tambin son rboles de b*squeda. Borrar. a-.1)uando el nodo que contiene el elemento por eliminar posee ms del mnimo de elementos, se elimina el elemento del nodo y el proceso de eliminacin termina. b-.1)uando el nodo que contiene el elemento a eliminar posee e"actamente el mnimo de elementos se buscara otro elemento que pueda sustituir al que se dar de baja y si no e"iste un sustituto se deber unir dos nodos. )uando alguno de los ermanos adyacentes al nodo que se dar de baja tiene ms del mnimo de elementos, el elemento padre del nodo con el elemento por borrar lo sustituir cuando sea borrado. +i no e"iste un ermano adyacente con mas del mnimo de elementos el nodo donde ocurre la eliminacin y un ermano adyacente se unen junto con el elemento padre que desaparece del nodo padre, si este ultimo queda con mas del mnimo de elementos el proceso termina, sino, se analiza la eliminacin en el nodo padre repitiendo los pasos anteriormente mencionados. c-.1+i el nodo que contiene el elemento por eliminar es la raz del rbol y posee un solo elemento el nodo desaparece y la nue(a raz del rbol ser el nodo resultado de la unin de los ijos que dependan de la raz anterior. )omo en el caso de los rboles binarios las operaciones secundarias ms usuales son las b*squedas y los recorridos. !stos algoritmos son semejantes a los utilizados para los rboles binarios

También podría gustarte