Taller de Repaso de Arboles

8
  Árbol binario de búsqueda auto-balanceada o equilibrio Se dice que este árbol de búsqueda balanceada mantiene automáticamente su altura lo que quiere decir numero de niveles por debajo de la raíz , proporcionando una implementación eficiente en ordenación de las listas. Las operaciones de un árbol de búsqueda binaria se basan en tomar el tiempo directamente proporcional a la altura del árbol, es preferible que la altura del árbol sea pequeña. Podemos observar que un árbol puede contener una altura h con máximo de 2 0  2 1  2 +···+ h  = 2 h  1  -1 nodos. De ahí parte un árbol con n nodos y la altura h : implica que  1  Esta es la fórmula en la cual se utiliza los arboles binarios auto-balaceados La altura mínima n nodos es , redondeado hacia debajo del árbol binario es ; Estos son algunos de los datos los cuales pueden alcanzar a manejar los arboles binarios balanceados donde que para n = 1.000.000, por ejemplo, la altura mínima es = 19; Ejemplos de un árbol binario auto- balanceado o equilibrio: Se dice que este árbol se encuentra perfectamente en equilibrio Ha este árbol se le piensa realizar el siguiente recorrido. 1 Formula tomada de http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree#cite_note-knuth-0   70 37 92 32 43 96 74 39 34 29 87

Transcript of Taller de Repaso de Arboles

Page 1: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 1/8

 

Árbol binario de búsqueda auto-balanceada o equilibrio

Se dice que este árbol de búsqueda balanceada mantiene automáticamente su

altura lo que quiere decir numero de niveles por debajo de la raíz , proporcionando

una implementación eficiente en ordenación de las listas.

Las operaciones de un árbol de búsqueda binaria se basan en tomar el tiempo

directamente proporcional a la altura del árbol, es preferible que la altura del árbol

sea pequeña. Podemos observar que un árbol puede contener una altura h con

máximo de

2 0

 2 1

 2 +···+ h 

  = 2 h  1

 -1 nodos. De ahí parte un árbol con n nodos y la altura h :

implica que ⌈ ⌉ ⌊ ⌋ 1 

Esta es la fórmula en la cual se utiliza los arboles binarios auto-balaceados

La altura mínima n nodos es , redondeado hacia debajo del árbol binario

es ⌊ ⌋;

Estos son algunos de los datos los cuales pueden alcanzar a manejar los arboles

binarios balanceados donde que para n  = 1.000.000, por ejemplo, la altura

mínima es ⌊ ⌋= 19;

Ejemplos de un árbol binario auto- balanceado o equilibrio:

Se dice que este árbol se encuentra perfectamente en equilibrio

Ha este árbol se le piensa realizar el siguiente recorrido.

1Formula tomada de http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree#cite_note-knuth-0 

70

37 92

32 43 9674

393429 87

Page 2: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 2/8

Pre orden: 70,37,32,29,34,43,39,92,74,87,96

Post orden: 29,34,32,39,37,43,87,74,96,92,70

Inorden: 29,32,34,37,39,43,70,74,87,92,96

http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree#cite_note-knuth-0 

Árbol AVL

Los árboles AVL se dice que este árbol siempre se encuentra equilibrado no notándose en la

posición en la que se encuentre, la altura de la rama izquierda no difiere en más de una unidad de

la altura de la rama derecha o viceversa. El orden de complejidad se mantiene en (log n).

Las operaciones que no tiene en cuenta para el equilibrio son las de inserción y de borrado en el

cual no realizándose estas operaciones se mantienen el equilibrio y no se rompe la condición del

equilibrio.

El factor equilibrio se define, buscando las alturas del árbol derecho y e izquierdo

Los valores con los cuales se maneja y se tienen en cuanta: los cuales con -1,0 o 1 siendo

correspondiente a loa siguiente:

0 -> el nodo está equilibrado y sus subárboles tienen exactamente la misma altura.

1 -> el nodo está desequilibrado y su subárbol derecho es un nivel más alto.

-1 -> el nodo está desequilibrado y su subárbol izquierdo es un nivel más alto.

Rotaciones 

El manejo del reequilibrio se produce de abajo hacia arriba sobre los nodos en los que se

produce el desequilibrio. En los cuales se puede presentar dos casos las cuales pueden

ser: rotación simple o rotación doble; permitiendo así que ambos casos vayan hacia la

derecha o izquierda.

Page 3: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 3/8

 

Ejemplos de cómo es la rotación

Rotación simple a la derecha.

Rotación simple a la izquierda. 

4

2

3

42

3

3

2

4

2

4

3

2

3

4

3

2 4

Page 4: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 4/8

 

Árbol AA

Un árbol de AA se encuentra en estado de equilibrio. Miramos que el árbol AA es

una variación del árbol rojo negro, se dice que este árbol es una mejora de la

búsqueda binaria. A diferencia de árboles rojo-negro, rojo nodos en un árbol de AA

sólo puede ser agregado con una dirección a la derecha, no hay ningún nodo

puede ser roja a la izquierda sub-hijo. Esto se traduce en la simulación deun árbol 2-3 se dice que es una forma de diseñar grafos lugar de un árbol 2-3-4

se dice que puede llegar a tener de dos hasta cuatro hijos nodos. Los algoritmos

de mantenimiento de un árbol rojo-negro necesidad de considerar siete formas

diferentes de equilibrar adecuadamente el árbol para su respectiva

implementación como su desarrollo

2

 

Un árbol de AA se consideran que hay dos formas de exigencias en las cuales

crean el enlace para que sea de color rojo

En general, los árboles AA se dice que en los arboles de este tipo se tiene que

seguir las siguientes condiciones para su desarrollo y a si el árbol sea válido:4

 

1. El nivel de un nodo hoja es uno.

2. El nivel de un hijo izquierdo es estrictamente menor que el de su padre.

2Tomando de Wikipedia http://es.wikipedia.org/wiki/%C3%81rbol_AA 

3Tomando de Wikipedia http://es.wikipedia.org/wiki/%C3%81rbol_AA 

4Tomando de Wikipedia http://es.wikipedia.org/wiki/%C3%81rbol_AA 

Page 5: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 5/8

3. El nivel de un hijo derecho es menor o igual que el de su padre.

4. El nivel de un nieto derecho es estrictamente menor que el de su abuelo.

5. Cada nodo de nivel mayor que uno debe tener dos hijos.

Realizando dos operaciones se puede mantener el equilibrio de arbol Sólo se

necesitan dos operaciones para mantener el equilibrio en un árbol AA. Estas

operaciones se llaman torsión (skew ) y división (split ). La torsión es una rotación

derecha que se realiza cuando una inserción o un borrado genera un enlace

horizontal izquierdo.

Ejemplos de arboles AA

}

B

A

B

C E

DD

A 4C

A F

DB

C

F

DB

A

C

Page 6: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 6/8

 

Árbol multica mino

• Los Árboles m-arios de búsqueda (árboles de búsqueda múltiples o. Multicamino) son árboles de grado m los cuales permite que su desarrollo puede llegar a

ser de grandes proporciones definidos de la forma:

 – Si el árbol A se encuentra vacío, entonces es un árbol m-ario de búsqueda; – Si

el árbol A se encuentra no vacío, entonces es un árbol m-ario de

Búsqueda lo que quiere decir que si verifica si es un árbol:

Dicho de otra forma:

 – Los árboles m-arios de búsqueda son árboles multica mino se dice que cadanodo puede tener dos o más dependientes directos ya se encuentra rodeado para

la búsqueda que se quiere realizar

 – En un árbol multica mino, de grado M, cada nodo interno puede tener como

máximo M nodos descendientes, y puede almacenar como máximo M-1 claves

ordenadas

 – Los árboles m-arios de búsqueda son árboles multica mino (aquellos en los que

cada nodo puede tener más de dos descendientes directos) cuyas ramas están

ordenadas a modo de un árbol binario de búsqueda… 

 – En un árbol multica mino, de grado M, cada nodo interno puede tener como

máximo M nodos descendientes, y puede almacenar como máximo M-1 claves

ordenadas.

Ejemplo de árbol 3-ario de búsqueda:

10,35

40,4500,05 15,20

25,30

Page 7: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 7/8

 

Árbol b

Un tipo particular de árboles m –arios de búsqueda equilibrados son los árboles B.• Un árbol B de orden m tiene las siguientes propiedades:   – es un árbol m –ario de búsqueda; – la raíz es una hoja o tiene al menos 2 hijos; – cada nodo, excepto la raíz y las hojas, tiene al menos ⌈⌉ hijos; – todas las hojas están en un mismo nivel• En la siguiente figura puede verse un árbol B de orden 5:  Los árboles B de orden 3 se denominan también árboles 2-3:

 – Cada nodo, excepto las hojas, tiene 2 o 3 hijo.

Árbol b*

Otra clase de árboles m –arios de búsqueda es la de los árboles B*.• Un árbol B* de orden m (m–ario), se define como:

 – Todo nodo excepto la raíz tiene como mucho m hijos. – Cada nodo de un árbol B* de orden m, excepto la raíz y las hojas, tiene comomínimo (2m-1)/3 hijos.

 – La raíz de un árbol B* de orden m tiene como mínimo 2 y como máximo 2 (2m-2)/3+ 1 hijos.• Según definición dada en el libro de knuth (vol 3, pag 488), la raíz puede llegar atener 4/3 del grado  – Todas las hojas de un árbol B* de orden m están en unmismo nivel.

 – Un nodo no hoja que tenga k hijos, contendrá k-1 claves. Los árboles B*constituyen una mejora de los árboles B para aumentar el promedio de utilizaciónde los nodos:

6,7

5,8 17,23,29,33

1,3,4 9,11,1230,3124,25,2618,19,20

13

18,34,35,

14,15

Page 8: Taller de Repaso de Arboles

5/10/2018 Taller de Repaso de Arboles - slidepdf.com

http://slidepdf.com/reader/full/taller-de-repaso-de-arboles 8/8

 – La inserción de claves en el árbol B* supone que si el nodo que le correspondeestá lleno, se mueven las claves a uno de sus hermanos, y así se pospone ladivisión del nodo hasta que ambos hermanos están completamente llenos.

Árbol +

Los árboles B+ son otra mejora de los árboles B:Mantienen la propiedad de acceso rápido en búsquedas para claves cualquiera, y

 – además permiten un recorrido secuencial rápido• En un árbol B+ todas las claves se encuentran en las hojas, duplicándose en laraíz y en los nodos interiores aquellas que definen los caminos de búsqueda Lasclaves en el nodo raíz e interiores se utilizan únicamente como índices Parafacilitar el recorrido secuencial rápido, las hojas están Encadenadas

Bibliografíahttp://en.wikipedia.org/wiki/Self-balancing_binary_search_tree#cite_note-knuth-0 

http://en.wikipedia.org/wiki/AVL_tree 

http://www2.elo.utfsm.cl/~lsb/elo320/clases/c15.pdf  

http://en.wikipedia.org/wiki/2-3-4_tree 

http://es.wikipedia.org/wiki/%C3%81rbol_AVL 

http://en.wikipedia.org/wiki/AVL_tree