P. 1
Arboles en Java

Arboles en Java

|Views: 986|Likes:
Published by Jorge 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.

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

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

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

7 .

8 .

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

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

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

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. . si el elemento es menor se busca en el subárbol izquierdo y si es mayor en el derecho.Operaciones(BUSQUEDA) 12  La búsqueda consiste acceder a la raíz del árbol.

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

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

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

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

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

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

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

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

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

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

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

. que puede tener solamente una llave.Diferencia entre Árbol B. esto quiere decir que en algunos nodos hay huecos. 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.

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.

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

 Podríamos distinguir 3 casos generales: . 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.Á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.

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

la rotaciones simples será izquierda y después derecha. En caso contrario. . 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.

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

You're Reading a Free Preview

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