P. 1
Arboles en Java

Arboles en Java

|Views: 986|Likes:
Publicado porJorge Vásquez Jr.

More info:

Published by: Jorge Vásquez Jr. on May 05, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPTX, PDF, TXT or read online from Scribd
See more
See less

04/24/2013

pdf

text

original

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.

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

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

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

7 .

8 .

 Recorrido en profundidad Recorre el árbol por subárboles. 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. Hay tres formas: en inorden. Cada una de ellas tiene una secuencia distinta para analizar el árbol. .

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

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

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

Á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 tenemos inicialmente como parámetro un árbol vacío se crea un nuevo nodo como único contenido el elemento a insertar. . Si no lo está.Operaciones(INSERCIÓN) 16  La inserción es similar a la búsqueda. De esta forma las inserciones se hacen en las hojas. 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.

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

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

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

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

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

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. .  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.

y su sucesor el nodo más a la izquierda de su subárbol derecho (menor nodo del subarbol derecho). Su predecesor en inorden será el nodo más a la derecha de su subárbol izquierdo (mayor nodo del subarbol izquierdo).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. .

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

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

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

esto quiere decir que en algunos nodos hay huecos. 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. . El único nodo que no necesita tener la mitad de sus localidades ocupadas es el nodo raíz.Diferencia entre Árbol B. que puede tener solamente una llave.

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. .

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. B+ y B* 33  La diferencia entre el árbol B y B+. 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. Las llaves se repiten en los nodos intermedios y en el nodo raíz para facilitar la búsqueda.Diferencia entre Árbol B. .

Árbol Biselado (Biselación) 34  Esta operación traslada un nodo x. 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. a la raíz . que es el nodo al que se accede.  Podríamos distinguir 3 casos generales: .

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. .

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

En caso contrario. la rotaciones simples será izquierda y después derecha. x sea hijo derecho y nieto izquierdo de q.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. .

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->