You are on page 1of 38

ARBOLES EN JAVA

INTEGRANTES:
Jorge Barreto Jorge Crespo Xavier Sumba

ndice
2

Arboles (Definicin) Arboles (Terminologa) Factor de Equilibrio Tipos de Arboles Recorrido de un rbol Binario rbol de Bsqueda Binaria(Bsqueda) rbol de Bsqueda Binaria(Insercin) rbol de Bsqueda Binaria(Eliminacin) Rotaciones del rbol AVL Diferencias entre el rbol B, B+, B* rbol Biselado (Biselacin) Referencias

Arboles (Definicin)
3

Intuitivamente el concepto de rbol implica una estructura donde los datos se organizan de modo que los elementos de informacin estn relacionados entre s a travs de ramas.

Definicin recursiva: rbol es un conjunto de nodos que: Es vaco, o bien, Tiene un nodo raz del que descienden 0 o ms sub-rboles.

Arboles (Terminologa)
4

Nodos: conjunto finito de elementos. Ramas: conjunto finito de lneas dirigidas, que conectan nodos. Grado del Nodo: nmero de ramas descendentes con un nodo. Raz: primer nodo de un rbol no vaco. Camino: secuencia de nodos en los que cada nodo es adyacente al siguiente.

Solo existe 1 camino entre la Raz y un Nodo cualquiera. La distancia de un Nodo a la Raz determina la rapidez de Bsqueda.

Arboles (Terminologa)
5

Padre: tiene Nodos sucesores. Hijos: Nodos sucesores. Descendientes: Hijos de los hijos Ascendientes: los padre y abuelos de un nodo hijo. Hermanos: 2 o mas nodos del mismo padre. Hojas: nodo sin hijos . Nivel de un nodo: distancia a la raz. Altura o profundidad de un rbol: nivel de la hoja del camino ms largo desde la raz ms uno.

La altura de un rbol vaco es 0.

Subrbol: cualquier estructura conectada por debajo del raz. Cad a nodo de un rbol es la raz de un subrbol que se define por el nodo y todos los descendientes del nodo.

Factor De Equilibrio
6

Factor de Equilibrio: diferencia de altura entre los 2 sub-rboles de un nodo. rbol Equilibrado: 1<fe<1. Ej: fe=32=1 rbol Perfectamente Equilibrado: fe=0.

Recorrido De Un Arbol Binario


9

Hay dos formas bsicas 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 subrboles. Hay tres formas: en inorden, preorden y postorden. Cada una de ellas tiene una secuencia distinta para analizar el rbol.

Recorrido De Un Arbol Binario


10

1. Inorden

Recorrer el subarbol izquierdo en inorden. Examinar la raz. Recorrer el subarbol derecho en inorden. Preorden Examinar la raz. 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. Examinar la raz.

Ejemplo Recorrido AB
11

Amplitud: 12 - 8,17 - 5,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 bsqueda consiste acceder a la raz del rbol, si el

elemento a localizar coincide con ste la bsqueda ha concluido con xito, si el elemento es menor se busca en el subrbol 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.

rbol Binario de Bsqueda (Bsqueda)


13

Buscaremos el nmero 14
5

14

rbol Binario de Bsqueda (Bsqueda)


14

Bsqueda 14
5

14

rbol Binario de Bsqueda (Bsqueda)


15

Bsqueda 14
5

14

Operaciones(INSERCIN)
16

La insercin es similar a la bsqueda. Si tenemos

inicialmente como parmetro un rbol vaco se crea un nuevo nodo como nico contenido el elemento a insertar. Si no lo est, se comprueba si el elemento dado es menor que la raz del rbol inicial con lo que se inserta en el subrbol izquierdo y si es mayor se inserta en el subrbol derecho. De esta forma las inserciones se hacen en las hojas.

rbol Binario de Bsqueda (Insercin)


17

Insertaremos los nmeros 5, 9, 14, 3, 1


5

rbol Binario de Bsqueda (Insercin)


18

5, 9, 14, 3, 1
5

rbol Binario de Bsqueda (Insercin)


19

5, 9, 14, 3, 1
5

14

rbol Binario de Bsqueda (Insercin)


20

5, 9, 14, 3, 1
5

14

rbol Binario de Bsqueda (Insercin)


21

5, 9, 14, 3, 1
5

14

Operaciones(ELIMINACIN)
22

Existen varios casos a tener en consideracin:

Borrar un nodo hoja: simplemente se borra y se

establece a nulo el apuntador de su padre.


Borrar un nodo con un subrbol hijo: se borra

el nodo y se asigna su subrbol hijo como subrbol de su padre.

Operaciones(ELIMINACIN)
23

Borrar un nodo con dos subrboles hijo: la

solucin 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 ms a la derecha de su subrbol izquierdo (mayor nodo del subarbol izquierdo), y su sucesor el nodo ms a la izquierda de su subrbol derecho (menor nodo del subarbol derecho).

rbol Binario de Bsqueda (Eliminacin)


24

Eliminacin del nmero 3


5

14

rbol Binario de Bsqueda (Eliminacin)


25

Eliminacin del nmero 3


5

14

rbol Binario de Bsqueda (Eliminacin)


26

Eliminacin del nmero 3


5

14

rbol Binario de Bsqueda (Eliminacin)


27

Eliminacin del nmero 3


5

14

Rotaciones del rbol AVL


28

Rotaciones Simples: De un rbol de raz (r) y de hijos

izquierdo (i) y derecho (d), lo que haremos ser formar un nuevo rbol cuya raz sea la raz 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 raz, la raz del rbol (r), 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


29

Rotaciones Dobles: La rotacin doble a la

derecha son dos rotaciones simples, primero rotacin simple izquierda y luego rotacin simple derecha.

Diferencia entre rbol B, B+ y B*


30

La familia de rboles B son rboles multicamino,

esto significa que tienen ms de una llave en sus nodos. Los rboles binarios tienen solamente una llave en sus nodos. El nmero de llaves que tiene ms uno se dice que es el orden de un rbol B, B* o B+. En estos rboles las principales operaciones son insercin, eliminacin y bsqueda.

Diferencia entre rbol B, 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, 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 raz, que puede tener solamente una llave.

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, en lo dems se parecen a los rboles B.

Diferencia entre rbol B, 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 raz para facilitar la bsqueda. 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 propsitos de localizar algunas llaves.

rbol Biselado (Biselacin)


34

Esta operacin traslada un nodo x, que es el nodo al

que se accede, a la raz . Para realizar esta operacin debemos rotar el rbol de forma que en cada rotacin el nodo x est ms cerca de la raz. Podramos distinguir 3 casos generales:

Caso 1
35

Si x es hijo izquierdo de p entonces realizaremos una

rotacin simple derecha. En caso de que x sea el derecho la rotacin que deberemos realizar es simple izquierda.

Caso 2
36

Si x es hijo y nieto izquierdo de p y q,

respectivamente. Entonces debemos realizar rotacin doble a la derecha, en caso de que x sea hijo y nieto derecho de p y q la rotacin ser doble izquierda.

Caso 3
37

En caso de que x sea hijo izquierdo de p y nieto

derecho de q realizaremos una rotacin simple derecha en el borde entre x y p y otra simple izquierda entre x y q. En caso contrario, x sea hijo derecho y nieto izquierdo de q, la rotaciones simples ser izquierda y despus derecha.

Referencias
38

http://es.wikipedia.org/wiki/%C3%81rbol_%28inform%C3%A1tica

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