taller de repaso de arboles
Post on 10-Jul-2015
60 Views
Preview:
TRANSCRIPT
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
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.
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
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
3
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
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
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
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
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
top related