ARBOLES EN JAVA

1

INTEGRANTES:
Jorge Barreto Jorge Crespo Xavier Sumba

Índice
2

           

Arboles (Definición) Arboles (Terminología) Factor de Equilibrio Tipos de Arboles Recorrido de un Árbol Binario Árbol de Búsqueda Binaria(Búsqueda) Árbol de Búsqueda Binaria(Inserción) Árbol de Búsqueda Binaria(Eliminación) Rotaciones del árbol AVL Diferencias entre el árbol B, B+, B* Árbol Biselado (Biselación) Referencias

Arboles (Definición)
3

Intuitivamente el concepto de árbol implica una estructura donde los datos se organizan de modo que los elementos de información estén relacionados entre sí a través de ramas.

Definición recursiva: Árbol es un conjunto de nodos que: • Es vacío, o bien, • Tiene un nodo raíz del que descienden 0 o más sub-árboles.

• Camino: secuencia de nodos en los que cada nodo es adyacente al siguiente. • Ramas: conjunto finito de líneas dirigidas. que conectan nodos. La distancia de un Nodo a la Raíz determina la rapidez de Búsqueda. . • Grado del Nodo: número de ramas descendentes con un nodo.    Solo existe 1 camino entre la Raíz y un Nodo cualquiera.Arboles (Terminología) 4 • Nodos: conjunto finito de elementos. • Raíz: primer nodo de un árbol no vacío.

 La altura de un árbol vacío es 0. • Subárbol: cualquier estructura conectada por debajo del raíz. Cad a nodo de un árbol es la raíz de un subárbol que se define por el nodo y todos los descendientes del nodo. Descendientes: Hijos de los hijos Ascendientes: los padre y abuelos de un nodo hijo. Hijos: Nodos sucesores. Nivel de un nodo: distancia a la raíz. . Hojas: nodo sin hijos . Altura o profundidad de un árbol: nivel de la hoja del camino más largo desde la raíz más uno. Hermanos: 2 o mas nodos del mismo padre.Arboles (Terminología) 5 • • • • • • • • Padre: tiene Nodos sucesores.

Ej: fe=3–2=1  Árbol Perfectamente Equilibrado: fe=0.  Árbol Equilibrado: –1<fe<1. .Factor De Equilibrio 6 Factor de Equilibrio: diferencia de altura entre los 2 sub-árboles de un nodo.

7 .

8 .

Cada una de ellas tiene una secuencia distinta para analizar el árbol. Hay tres formas: en inorden. preorden y postorden. .Recorrido De Un Arbol Binario 9 Hay dos formas básicas de recorrer un árbol: El recorrido en amplitud y el recorrido en profundidad.  Recorrido en amplitud Es aquel recorrido que recorre el árbol por niveles.  Recorrido en profundidad Recorre el árbol por subárboles.

Examinar la raíz.Recorrido De Un Arbol Binario 10  1.  Preorden Examinar la raíz. Recorrer el subarbol derecho en postorden. Examinar la raíz. Recorrer el subarbol derecho en inorden. Inorden Recorrer el subarbol izquierdo en inorden.  Postorden Recorrer el subarbol izquierdo en postorden. recorrer el subarbol derecho en preorden. Recorrer el subarbol izquierdo en preorden. .

17 .Ejemplo Recorrido AB 11 Amplitud: 12 .8.15 Profundidad:  Inorden: 5-8-9-12-15-17  Preorden: 12-8-5-9-17-15  Postorden: 5-9-8-15-17-12 .5.9.

Operaciones(BUSQUEDA) 12  La búsqueda consiste acceder a la raíz del árbol. si el elemento a localizar coincide con éste la búsqueda ha concluido con éxito. Si se alcanza un nodo hoja y el elemento no ha sido encontrado se supone que no existe en el árbol. si el elemento es menor se busca en el subárbol izquierdo y si es mayor en el derecho. .

Árbol Binario de Búsqueda (Búsqueda) 13  Buscaremos el número 14 5 3 9 1 14 .

Árbol Binario de Búsqueda (Búsqueda) 14  Búsqueda 14 5 3 9 1 14 .

Árbol Binario de Búsqueda (Búsqueda) 15  Búsqueda 14 5 3 9 1 14 .

Si no lo está.Operaciones(INSERCIÓN) 16  La inserción es similar a la búsqueda. se comprueba si el elemento dado es menor que la raíz del árbol inicial con lo que se inserta en el subárbol izquierdo y si es mayor se inserta en el subárbol derecho. Si tenemos inicialmente como parámetro un árbol vacío se crea un nuevo nodo como único contenido el elemento a insertar. . De esta forma las inserciones se hacen en las hojas.

3. 9. 1 5 .Árbol Binario de Búsqueda (Inserción) 17  Insertaremos los números 5. 14.

9. 14. 1 5 9 .Árbol Binario de Búsqueda (Inserción) 18  5. 3.

3. 9. 1 5 9 14 .Árbol Binario de Búsqueda (Inserción) 19  5. 14.

3.Árbol Binario de Búsqueda (Inserción) 20  5. 9. 1 5 3 9 14 . 14.

14.Árbol Binario de Búsqueda (Inserción) 21  5. 9. 3. 1 5 3 9 1 14 .

 Borrar un nodo con un subárbol hijo: se borra el nodo y se asigna su subárbol hijo como subárbol de su padre.Operaciones(ELIMINACIÓN) 22  Existen varios casos a tener en consideración:  Borrar un nodo hoja: simplemente se borra y se establece a nulo el apuntador de su padre. .

Operaciones(ELIMINACIÓN) 23  Borrar un nodo con dos subárboles hijo: la solución está en reemplazar el valor del nodo por el de su predecesor o por el de su sucesor en inorden y posteriormente borrar este nodo. . Su predecesor en inorden será el nodo más a la derecha de su subárbol izquierdo (mayor nodo del subarbol izquierdo). y su sucesor el nodo más a la izquierda de su subárbol derecho (menor nodo del subarbol derecho).

Árbol Binario de Búsqueda (Eliminación) 24  Eliminación del número 3 5 3 9 1 14 .

Árbol Binario de Búsqueda (Eliminación) 25  Eliminación del número 3 5 3 9 1 14 .

Árbol Binario de Búsqueda (Eliminación) 26  Eliminación del número 3 5 9 1 14 .

Árbol Binario de Búsqueda (Eliminación) 27  Eliminación del número 3 5 1 9 14 .

el hijo derecho de i (d’) será el hijo izquierdo y el hijo derecho será el hijo derecho del árbol (d) .Rotaciones del Árbol AVL 28  Rotaciones Simples: De un árbol de raíz (r) y de hijos izquierdo (i) y derecho (d). la raíz del árbol (r). lo que haremos será formar un nuevo árbol cuya raíz sea la raíz del hijo izquierdo. como hijo izquierdo colocamos el hijo izquierdo de i (nuestro i’) y como hijo derecho construimos un nuevo árbol que tendrá como raíz.

Rotaciones del Árbol AVL 29  Rotaciones Dobles: La rotación doble a la derecha son dos rotaciones simples. . primero rotación simple izquierda y luego rotación simple derecha.

B* o B+.  En estos árboles las principales operaciones son inserción. esto significa que tienen más de una llave en sus nodos. Los árboles binarios tienen solamente una llave en sus nodos. eliminación y búsqueda. B+ y B* 30  La familia de árboles B son árboles multicamino. El número de llaves que tiene más uno se dice que es el orden de un árbol B.Diferencia entre Árbol B. .

. El único nodo que no necesita tener la mitad de sus localidades ocupadas es el nodo raíz. B+ y B* 31  En los árboles B las llaves se almacenan en el árbol y cada nodo debe tener al menos la mitad de sus elementos ocupados. que puede tener solamente una llave.Diferencia entre Árbol B. esto quiere decir que en algunos nodos hay huecos.

en lo demás se parecen a los árboles B.Diferencia entre Árbol B. . B+ y B* 32  En los árboles B* los nodos deben ocuparse al menos en 2/3 en vez de 1/2 (la mitad) esa es la diferencia.

Las llaves se repiten en los nodos intermedios y en el nodo raíz para facilitar la búsqueda. consiste en que las llaves se almacenan en los nodos del último nivel del árbol y esos nodos se enlazan unos con otros formando una lista ligada que puede ser ligada en forma sencilla o doblemente ligada. B+ y B* 33  La diferencia entre el árbol B y B+.Diferencia entre Árbol B. . Puede haber llaves en los nodos intermedios que no existan en los nodos hoja porque alguna vez se insertaron y luego se borraron pero se conservan para propósitos de localizar algunas llaves.

a la raíz . que es el nodo al que se accede. Para realizar esta operación debemos rotar el árbol de forma que en cada rotación el nodo x está más cerca de la raíz.  Podríamos distinguir 3 casos generales: .Árbol Biselado (Biselación) 34  Esta operación traslada un nodo x.

En caso de que x sea el derecho la rotación que deberemos realizar es simple izquierda.Caso 1 35  Si x es hijo izquierdo de p entonces realizaremos una rotación simple derecha. .

Entonces debemos realizar rotación doble a la derecha. respectivamente.Caso 2 36  Si x es hijo y nieto izquierdo de p y q. . en caso de que x sea hijo y nieto derecho de p y q la rotación será doble izquierda.

la rotaciones simples será izquierda y después derecha. x sea hijo derecho y nieto izquierdo de q. En caso contrario. .Caso 3 37  En caso de que x sea hijo izquierdo de p y nieto derecho de q realizaremos una rotación simple derecha en el borde entre x y p y otra simple izquierda entre x y q.

wikipedia.wikipedia.org/wiki/%C3%81rbol_%28inform%C3%A1tica           %29 http://es.org/wiki/%C3%81rbol_AVL#Rotaciones http://es.Referencias 38  http://es.C3.C3.wikipedia.wikipedia.wikipedia.yahoo.org/wiki/%C3%81rbol-B* http://es.com/question/index?qid=2011112919012 1AAp8yZn .org/wiki/%C3%81rbol_binario http://es.answers.wikipedia.B3 n_de_Biselaci.org/wiki/%C3%81rbol_biselado http://es.wikipedia.wikipedia.B3n http://mx.org/wiki/%C3%81rbol-B%2B http://es.org/wiki/%C3%81rbol-B http://es.org/wiki/%C3%81rbol_biselado#Operaci.wikipedia.org/wiki/%C3%81rbol_AVL http://es.org/wiki/%C3%81rbol_binario_de_b%C3%BAs queda http://es.wikipedia.

Sign up to vote on this title
UsefulNot useful