Sie sind auf Seite 1von 73

TIPOS DE

ARBOLES

En ciencias de la informtica, un
rbol es una estructura de
datos ampliamente usada que
imita la forma de un rbol (un
conjunto de nodos conectados).

Un nodo es la unidad sobre la


que se construye el rbol y
puede tener cero o ms nodos
hijos conectados a l. Se dice
que un nodo a es padre de un
nodo b si existe un enlace desde
a hasta b (en ese caso, tambin
decimos que b es hijo de a).

Slo puede haber un nico nodo


sin padres, que llamaremos raz.
Un nodo que no tiene hijos se
conoce como hoja. Los dems
nodos (tienen padre y uno o
varios hijos) se les conoce como
rama.

Ejemplo de un arbol
A

padre

hijos

Caso base: un rbol con slo un nodo (es a la vez raz


del rbol y hoja).

Un nuevo rbol a partir de un nodo nr y


k rboles de races con elementos cada
uno, puede construirse estableciendo
una relacin padre-hijo entre nr y cada
una de las races de los k rboles. El
rbol resultante de nodos tiene como
raz el nodo nr, los nodos son los hijos
de nr y el conjunto de nodos hoja est
formado por la unin de los k conjuntos
hojas iniciales. A cada uno de los rboles
Ai se les denota ahora subrboles de la
raz.

Una sucesin de nodos del rbol, de


forma que entre cada dos nodos
consecutivos de la sucesin haya
una relacin de parentesco,
decimos que es un recorrido rbol.

Recorrido profundidad: En el primer


caso, se listan los nodos expandiendo el
hijo actual de cada nodo hasta llegar a
una hoja, donde se vuelve al nodo
anterior probando por el siguiente hijo y
as sucesivamente.
Recorrido en anchura: En el segundo,
por su parte, antes de listar los nodos de
nivel n + 1 (a distancia n + 1 aristas de la
raz), se deben haber listado todos los
de nivel n.

El recorrido en preorden: tambin


llamado orden previo consiste en
recorrer en primer lugar la raz y luego
cada uno de los hijos en orden previo.
El recorrido en inorden: tambin
llamado orden simtrico (aunque este
nombre slo cobra significado en los
rboles binarios) consiste en recorrer en
primer lugar A1, luego la raz y luego
cada uno de los hijos en orden
simtrico.

El recorrido en postorden: tambin


llamado orden posterior consiste en
recorrer en primer lugar cada uno de los
hijos en orden posterior y por ltimo la
raz.

Las operaciones comunes en rboles


son:

Enumerar todos los elementos.


Buscar un elemento.
Dado un nodo, listar los hijos (si los hay).
Borrar un elemento.
Eliminar un subrbol (algunas veces llamada podar).
Aadir un subrbol (algunas veces llamada injertar).
Encontrar la raz de cualquier nodo.

Por su parte, la representacin puede


realizarse de diferentes formas. Las ms
utilizadas son:

Representar cada nodo como una


variable en el heap, con punteros a sus
hijos y a su padre.
Representar el rbol con un array donde
cada elemento es un nodo y las
relaciones padre-hijo vienen dadas por
la posicin del nodo en el array.

Tipos de arboles

un rbol binario es una estructura de datos en


la cual cada nodo siempre tiene un hijo
izquierdo y un hijo derecho. No pueden tener
ms de dos hijos (de ah el nombre "binario").
Si algn hijo tiene como referencia a null, es
decir que no almacena ningn dato, entonces
este es llamado un nodo externo. En el caso
contrario el hijo es llamado un nodo interno.
Usos comunes de los rboles binarios son los
rboles binarios de bsqueda, los montculos
binarios y Codificacin de Huffman.

En teora de grafos, se usa la siguiente


definicin: Un rbol binario es un grafo
conexo, acclico y no dirigido tal que el
grado de cada vrtice no es mayor a 3.
De esta forma slo existe un camino
entre un par de nodos.

Un rbol binario con enraizado es como


un grafo que tiene uno de sus vrtices,
llamado raz, de grado no mayor a 2.
Con la raz escogida, cada vrtice tendr
un nico padre, y nunca ms de dos
hijos. Si rehusamos el requerimiento de
la conectividad, permitiendo mltiples
componentes conectados en el grafo,
llamaremos a esta ltima estructura un
bosque.

TIPOS DE RBOL BINARIO


Un rbol binario es un rbol con raz en el que
cada nodo tiene como mximo dos hijos.
Un rbol binario lleno es un rbol en el que cada
nodo tiene cero o dos hijos.
Un rbol binario perfecto es un rbol binario
lleno en el que todas las hojas (vrtices con cero
hijos) estn a la misma profundidad (distancia desde
la raz, tambin llamada altura).
A veces un rbol binario perfecto es denominado
rbol binario completo. Otros definen un rbol
binario completo como un rbol binario lleno en el
que todas las hojas estn a profundidad n o n-1, para
alguna n.

ALMACENAMIENTO
Los rboles binarios pueden ser construidos a
partir de lenguajes de programacin de varias
formas. En un lenguaje con registros y
referencias, los rboles binarios son
construidos tpicamente con una estructura
de nodos y punteros en la cual se almacenan
datos, cada uno de estos nodos tiene una
referencia o puntero a un nodo izquierdo y a
un nodo derecho denominados hijos.

En ocasiones, tambin contiene un puntero a un


nico nodo. Si un nodo tiene menos de dos hijos,
algunos de los punteros de los hijos pueden ser
definidos como nulos para indicar que no dispone de
dicho nodo. En la figura adjunta se puede observar la
estructura de dicha implementacin.

RBOL AVL
rbol AVL es un tipo especial de rbol
binario ideado por los matemticos
rusos Adelson-Velskii y Landis. Fue el
primer rbol de bsqueda binario autobalanceable que se ide

El rbol AVL toma su nombre de las iniciales


de los apellidos de sus inventores, AdelsonVelskii y Landis. Lo dieron a conocer en la
publicacin de un artculo en 1962: "An
algorithm for the organization of information"
("Un algoritmo para la organizacin de la
informacin").

Los rboles AVL estn siempre equilibrados de tal modo


que para todos los nodos, la altura de la rama izquierda no
difiere en ms de una unidad de la altura de la rama
derecha. Gracias a esta forma de equilibrio (o balanceo), la
complejidad de una bsqueda en uno de estos rboles se
mantiene siempre en orden de complejidad O(log n). El
factor de equilibrio puede ser almacenado directamente en
cada nodo o ser computado a partir de las alturas de los
subrboles.
Para conseguir esta propiedad de equilibrio, la insercin y
el borrado de los nodos se ha de realizar de una forma
especial. Si al realizar una operacin de insercin o borrado
se rompe la condicin de equilibrio, hay que realizar una
serie de rotaciones de los nodos.

Definicin de la altura de un rbol

Sea T un rbol binario de bsqueda y sean Ti y Td sus


subrboles, su altura H(T), es:
0 si el rbol T contiene solo la raz
1 + max(H(Ti),H(Td)) si contiene ms nodos
Definicin de rbol AVL
Un rbol vaco es un rbol AVL
Si T es un rbol no vaco y Ti y Td sus subrboles, entonces
T es AVL si y solo si:
Ti es AVL
Td es AVL
| H(Ti) H(Td) | < = 1

Factor de equilibrio
Cada nodo, adems de la informacin que se
pretende almacenar, debe tener los dos punteros a
los rboles derecho e izquierdo, igual que los rboles
binarios de bsqueda (ABB), y adems el dato que
controla el factor de equilibrio.
El factor de equilibrio es la diferencia entre las alturas
del rbol derecho y el izquierdo:

FE = altura subrbol derecho - altura subrbol


izquierdo; Por definicin, para un rbol AVL, este valor
debe ser -1, 0 1. Si el factor de equilibrio de un nodo
es:
0 -> el nodo est equilibrado y sus subrboles tienen
exactamente la misma altura. 1 -> el nodo est
equilibrado y su subrbol derecho es un nivel ms
alto. -1 -> el nodo est equilibrado y su subrbol
izquierdo es un nivel ms alto. Si el factor de
equilibrio Fe2 o Fe-2 es necesario reequilibrar.

Operaciones
Las operaciones bsicas de un rbol AVL implican
generalmente el realizar los mismos algoritmos que
seran realizados en un rbol binario de bsqueda
desequilibrado, pero precedido o seguido por una o
ms de las lla
El reequilibrado se produce de abajo hacia arriba
sobre los nodos en los que se produce el
desequilibrio. Pueden darse dos casos: rotacin
simple o rotacin doble; a su vez ambos casos pueden
ser hacia la derecha o hacia la izquierda.madas
"rotaciones AVL".

ROTACIN SIMPLE A LA DERECHA.


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

ROTACIN SIMPLE A LA IZQUIERDA.


De un rbol de raz (r) y de hijos izquierdo (i) y
derecho (d), consiste en formar un nuevo rbol cuya
raz sea la raz del hijo derecho, como hijo derecho
colocamos el hijo derecho de d (nuestro d) y como
hijo izquierdo construimos un nuevo rbol que tendr
como raz la raz del rbol (r), el hijo izquierdo de d
ser el hijo derecho (i) y el hijo izquierdo ser el hijo
izquierdo del rbol (i).
Precondicin : Tiene que tener hijo derecho no vaco.

ROTACIN DOBLE A LA DERECHA.

ROTACIN DOBLE A LA IZQUIERDA.

intercesin
La insercin en un rbol de AVL puede ser realizada insertando el
valor dado en el rbol como si fuera un rbol de bsqueda
binario desequilibrado y despus retrocediendo hacia la raz,
rotando sobre cualquier nodo que pueda haberse desequilibrado
durante la insercin.
Proceso de insercin:
1.buscar hasta encontrar la posicin de insercin o modificacin
(proceso idntico a insercin en rbol binario de bsqueda)
2.insertar el nuevo nodo con factor de equilibrio equilibrado
3.desandar el camino de bsqueda, verificando el equilibrio de
los nodos, y re-equilibrando si es necesario

Extraccin
El procedimiento de borrado es el mismo que en el
caso de rbol binario de bsqueda.La diferencia se
encuentra en el proceso de reequilibrado posterior. El
problema de la extraccin puede resolverse en O
(log n) pasos. Una extraccin trae consigo una
disminucin de la altura de la rama donde se extrajo y
tendr como efecto un cambio en el factor de
equilibrio del nodo padre de la rama en cuestin,
pudiendo necesitarse una rotacin.
Esta disminucin de la altura y la correccin de los
factores de equilibrio con sus posibles rotaciones
asociadas pueden propagarse hasta la raz.

RBOL ROJO-NEGRO
Un rbol rojo negro es un tipo abstracto de
datos, concretamente es un rbol binario de
bsqueda equilibrado, una estructura de
datos utilizada en informtica y ciencias de la
computacin. La estructura original fue
creada por Rudolf Bayer en 1972, que le dio el
nombre de rboles-B binarios simtricos,
pero tom su nombre moderno en un trabajo
de Leo J. Guibas y Robert Sedgewick realizado
en 1978.

Es complejo, pero tiene un buen peor


caso de tiempo de ejecucin para sus
operaciones y es eficiente en la prctica.
Puede buscar, insertar y borrar en un
tiempo O(log n), donde n es el nmero
de elementos del rbol.
Un rbol rojo-negro es un tipo especial
de rbol binario usado en informtica
para organizar informacin compuesta
por datos comparables (como por
ejemplo nmeros).

En los rboles rojo-negro las hojas no son relevantes y


no contienen datos. A la hora de implementarlo en un
lenguaje de programacin, para ahorrar memoria, un
nico nodo (nodo-centinela) hace de nodo hoja para
todas las ramas. As,todas las referencias de los nodos
internos a las hojas van a para
En los rboles rojo-negro, como en todos los rboles
binarios de bsqueda, es posible moverse
ordenadamente a travs de los elementos de forma
eficiente si hay forma de localizar el padre de
cualquier nodo. r al nodo centinela.

Un rbol rojo-negro es un rbol binario de bsqueda


en el que cada nodo tiene un atributo de color cuyo
valor es o bien rojo o bien negro. Adems de los
requisitos impuestos a los rboles binarios de
bsqueda convencionales, se deben satisfacer los
siguientes para tener un rbol rojo-negro vlido:
Todo nodo es o bien rojo o bien negro.
La raz es negra.
Todas las hojas son negras (las hojas son los hijos
nulos).
Los hijos de todo nodo rojo son negros (tambin
llamada "Propiedad del rojo").

5. Cada camino simple desde un nodo a una hoja


descendiente contiene el mismo nmero de nodos
negros, ya sea contando siempre los nodos negros
nulos, o bien no contndolos nunca (el resultado es
equivalente). Tambin es llamada "Propiedad del
camino", y al nmero de nodos negros de cada
camino, que es constante para todos los caminos, se
le denomina "Altura negra del rbol", y por tanto el
cmino no puede tener dos rojos seguidos.
6. El camino ms largo desde la raz hasta una hoja
no es ms largo que 2 veces el camino ms corto
desde la raz del rbol a una hoja en dicho rbol. El
resultado es que dicho rbol est aproximadamente
equilibrado.

Los rboles rojo-negro ofrecen un peor caso


con tiempo garantizado para la insercin, el
borrado y la bsqueda. No es esto nicamente
lo que los hace valiosos en aplicaciones
sensibles al tiempo como las aplicaciones en
tiempo real, sino que adems son apreciados
para la construccin de bloques en otras
estructuras de datos que garantizan un peor
caso. Por ejemplo, muchas estructuras de
datos usadas en geometra computacional
pueden basarse en rboles rojo-negro.

Rotacin
Para conservar las propiedades que debe
cumplir todo rbol rojo-negro, en ciertos
casos de la insercin y la eliminacin ser
necesario reestructurar el rbol, si bien no
debe perderse la ordenacin relativa de los
nodos. Para ello, se llevan a cabo una o varias
rotaciones, que no son ms que
reestructuraciones en las relaciones padrehijo-to-nieto.

Bsqueda
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. Cabe
destacar que la bsqueda en este tipo de rboles es
muy eficiente, representa una funcin logartmica. La
bsqueda de un elemento en un ABB (rbol Binario
de Bsqueda) en general, y en un rbol rojo negro en
particular, se puede realizar de dos formas, iterativa o
recursiva.

Insercin
La insercin comienza aadiendo el
nodo como lo haramos en un rbol
binario de bsqueda convencional y
pintndolo de rojo. Lo que sucede
despus depende del color de otros
nodos cercanos. El trmino to nodo
ser usado para referenciar al hermano
del padre de un nodo, como en los
rboles familiares humanos.

. Conviene notar que:


La propiedad 3 (Todas las hojas, incluyendo las
nulas, son negras) siempre se cumple.
La propiedad 4 (Ambos hijos de cada nodo rojo
son negros) est amenazada solo por aadir un nodo
rojo, por repintar un nodo negro de color rojo o por
una rotacin.
La propiedad 5 (Todos los caminos desde un
nodo dado hasta sus nodos hojas contiene el mismo
nmero de nodos negros) est amenazada solo por
aadir un nodo rojo, por repintar un nodo negro de
color rojo o por una rotacin.

casos
Caso 1: El nuevo nodo N es la raz de del rbol. En este
caso, es repintado a color negro para satisfacer la
propiedad 2 (la raz es negra). Como esto aade un
nodo negro a cada camino, la propiedad 5 (todos los
caminos desde un nodo dado a sus hojas contiene el
mismo nmero de nodos negros) se mantiene.

Caso 2: El padre del nuevo nodo (esto es, el nodo P) es negro, as


que la propiedad 4 (ambos hijos de cada nodo rojo son negros)
se mantiene. En este caso, el rbol es aun vlido. La propiedad 5
(todos los caminos desde cualquier nodo dado a sus hojas
contiene igual nmero de nodos negros) se mantiene, porque el
nuevo nodo N tiene dos hojas negras como hijos, pero como N
es rojo, los caminos a travs de cada uno de sus hijos tienen el
mismo nmero de nodos negros que el camino hasta la hoja que
reemplaz, que era negra, y as esta propiedad se mantiene
satisfecha.

Caso 3: Si el padre P y el to U son rojos, entonces ambos nodos pueden


ser repintados de negro y el abuelo G se convierte en rojo para
mantener la propiedad 5 (todos los caminos desde cualquier nodo dado
hasta sus hojas contiene el mismo nmero de nodos negros). Ahora, el
nuevo nodo rojo N tiene un padre negro. Como cualquier camino a
travs del padre o el to debe pasar a travs del abuelo, el nmero de
nodos negros en esos caminos no ha cambiado. Sin embargo, el abuelo
G podra ahora violar la propiedad 2 (la raz es negra) o la 4 (ambos hijos
de cada nodo rojo son negros), en el caso de la 4 porque G podra tener
un padre rojo. Para solucionar este problema, el procedimiento
completo se realizar de forma recursiva hacia arriba hasta alcanzar el
caso 1

Caso 4: El nodo padre P es rojo pero el to U es negro; tambin, el nuevo


nodo N es el hijo derecho de P, y P es el hijo izquierdo de su padre G. En
este caso, una rotacin a la izquierda que cambia los roles del nuevo
nodo N y su padre P puede ser realizada; entonces, el primer nodo
padre P se ve implicado al usar el caso 5 de insercin (reetiquetando N y
P ) debido a que la propiedad 4 (ambos hijos de cada nodo rojo son
negros) se mantiene an incumplida. La rotacin causa que algunos
caminos (en el sub-rbol etiquetado como 1) pasen a travs del nuevo
nodo donde no lo hacan antes, pero ambos nodos son rojos, as que la
propiedad 5 (todos los caminos desde cualquier nodo dado a sus hojas
contiene el mismo nmero de nodos negros) no es violada por la
rotacin.

Caso 5: El padre P es rojo pero el to U es negro, el nuevo


nodo N es el hijo izquierdo de P, y P es el hijo izquierdo de su
padre G. En este caso, se realiza una rotacin a la derecha
sobre el padre P; el resultado es un rbol donde el padre P es
ahora el padre del nuevo nodo N y del inicial abuelo G. Este
nodo G ha de ser negro, as como su hijo P rojo. Se
intercambian los colores de ambos y el resultado satisface la
propiedad 4 (ambos hijos de un nodo rojo son negros). La
propiedad 5 (todos los caminos desde un nodo dado hasta
sus hojas contienen el mismo nmero de nodos negros)
tambin se mantiene satisfecha, ya que todos los caminos
que iban a travs de esos tres nodos entraban por G antes, y
ahora entran por P. En cada caso, este es el nico nodo negro
de los tres.

ELIMINACIN
En un rbol binario de bsqueda normal, cuando se borra
un nodo con dos nodos internos como hijos, tomamos el
mximo elemento del subrbol izquierdo o el mnimo del
subrbol derecho, y movemos su valor al nodo que es
borrado (como se muestra aqu). Borramos entonces el
nodo del que copibamos el valor que debe tener menos
de dos nodos no hojas por hijos. Copiar un valor no viola
ninguna de las propiedades rojo-negro y reduce el
problema de borrar en general al de borrar un nodo con
como mucho un hijo no hoja. No importa si este nodo es
el nodo que queramos originalmente borrar o el nodo del
que copiamos el valor.

Si N y su padre original son negros, entonces borrar


este padre original causa caminos que pasan por N y
tienen un nodo negro menos que los caminos que no.
Como esto viola la propiedad 5 (todos los caminos
desde un nodo dado hasta su nodos hojas deben
contener el mismo nmero de nodos negros), el rbol
debe ser reequilibrado. Hay varios casos a considerar.
Caso 1: N es la nueva raz. En este caso, hemos
acabado. Borramos un nodo negro de cada camino y
la nueva raz es negra, as las propiedades se cumplen.

Caso 2: S es rojo. En este caso invertimos los colores de P y S,


por lo que rotamos a la izquierda P, pasando S a ser el abuelo
de N. Ntese que P tiene que ser negro al tener un hijo rojo.
Aunque todos los caminos tienen todava el mismo nmero
de nodos negros, ahora N tiene un hermano negro y un padre
rojo, as que podemos proceder a al paso 4, 5 o 6 (este nuevo
hermano es negro porque ste era uno de los hijos de S, que
es rojo). En casos posteriores, reetiquetaremos el nuevo
hermano de N como S.

Caso 3: P, S y los hijos de S son negros. En este caso, simplemente


cambiamos S a rojo. El resultado es que todos los caminos a travs de S,
precisamente aquellos que no pasan por N, tienen un nodo negro menos.
El hecho de borrar el padre original de N haciendo que todos los caminos
que pasan por N tengan un nodo negro menos nivela el rbol. Sin
embargo, todos los caminos a travs de P tienen ahora un nodo negro
menos que los caminos que no pasan por P, as que la propiedad 5 an no
se cumple (todos los caminos desde cualquier nodo a su nodo hijo
contienen el mismo nmero de nodos negros). Para corregir esto,
hacemos el proceso de reequilibrio en P, empezando en el caso 1.

Caso 4: S y los hijos de ste son negros, pero P es rojo. En


este caso, simplemente intercambiamos los colores de S y
P. Esto no afecta al nmero de nodos negros en los
caminos que no van a travs de S, pero aade uno al
nmero de nodos negros a los caminos que van a travs
de N, compensando as el borrado del nodo negro en
dichos caminos.

Caso 5: S es negro, su hijo izquierdo es rojo, el derecho es


negro, y N es el hijo izquierdo de su padre. En este caso
rotamos a la derecha S, as su hijo izquierdo se convierte en su
padre y en el hermano de N. Entonces intercambiamos los
colores de S y su nuevo padre. Todos los caminos tienen an el
mismo nmero de nodos negros, pero ahora N tiene un
hermano negro cuyo hijo derecho es rojo, as que caemos en el
caso 6. Ni N ni su padre son afectados por esta transformacin
(de nuevo, por el caso 6, reetiquetamos el nuevo hermano de
N como S).

Caso 6: S es negro, su hijo derecho es rojo, y N es el


hijo izquierdo de P, su padre. En este caso rotamos a
la izquierda P, as que S se convierte en el padre de P
y ste en el hijo derecho de S. Entonces
intercambiamos los colores de P y S, y ponemos el
hijo derecho de S en negro. El subrbol an tiene el
mismo color que su raz, as que las propiedades 4 (los
hijos de todo nodo rojo son negros) y 5 (todos los
caminos desde cualquier nodo a sus nodos hoja
contienen el mismo nmero de nodos negros) se
verifican. Sin embargo, N tiene ahora un antecesor
negro mas: o bien P se ha convertido en negro, o bien
era negro y S se ha aadido como un abuelo negro.
De este modo, los caminos que pasan por N pasan por
un nodo negro mas.

ste pasa a travs del nuevo hermano de N. Entonces, ste debe


pasar por S y P, al igual que antes, y tienen slo que intercambiar
los colores. As los caminos contienen el mismo nmero de
nodos negros.
ste pasa por el nuevo to de N, el hijo derecho de S. ste
anteriormente pasaba por S, su padre y su hijo derecho, pero
ahora slo pasa por S, el cual ha tomado el color de su anterior
padre, y por su hijo derecho, el cual ha cambiado de rojo a negro.
El efecto final es que este camino va por el mismo nmero de
nodos negros.

ARBOL MULTICAMINO
Un rbol multicamino posee un grado g mayor a dos, donde cada nodo de
informacin del rbol tiene un mximo de g hijos.

Sea un rbol de m-caminos A, es un rbol m-caminos si y solo si:


A est vaco
Cada nodo de A muestra la siguiente estructura:
[nClaves,Enlace0,Clave1,...,ClavenClaves,EnlacenClaves]
nClaves es el nmero de valores de clave de un nodo, pudiendo ser: 0 <=
nClaves <= g-1 Enlacei, son los enlaces a los subrboles de A, pudiendo ser:
0 <= i <= nClaves Clavei, son los valores de clave, pudiendo ser: 1 <= i <=
nClaves Clavei < Clavei+1
Cada valor de clave en el subrbol Enlacei es menor que el valor de Clavei+1
Los subrboles Enlacei, donde 0 <= i <= nClaves, son tambin rboles mcaminos.

La principal ventaja de este tipo de rboles consiste


en que existen ms nodos en un mismo nivel que en
los rboles binarios con lo que se consigue que, si el
rbol es de bsqueda, los accesos a los nodos sean
ms rpidos.
El inconveniente ms importante que tienen es la
mayor ocupacin de memoria, pudiendo ocurrir que
en ocasiones la mayora de los nodos no tengan
descendientes o al menos no todos los que podran
tener desaprovechndose por tanto gran cantidad de
memoria. Cuando esto ocurre lo ms frecuente es
transformar el rbol multicamino en su binario de
bsqueda equivalente.

RBOL AA
Los rboles AA son una variacin del rbol rojo-negro, que
a su vez es una mejora del rbol binario de bsqueda. A
diferencia de los rboles rojo-negro, los nodos rojos en un
rbol AA slo pueden aadirse como un hijo derecho. En
otras palabras, ningn nodo rojo puede ser un hijo
izquierdo. De esta manera se simula un rbol 2-3 en lugar
de un rbol 2-3-4, lo que simplifica las operaciones de
mantenimiento. Los algoritmos de mantenimiento para un
rbol rojo-negro necesitan considerar siete diferentes
formas para balancear adecuadamente el rbol:
En un rbol AA, al cumplirse el estricto requisito de que
slo los enlaces derechos pueden ser rojos, slo es
necesario considerar dos formas:

Cada nodo tiene un campo nivel y se deben cumplir


las siguientes condiciones para que el rbol sea
vlido:
El nivel de un nodo hoja es uno.
El nivel de un hijo izquierdo es estrictamente menor
que el de su padre.
El nivel de un hijo derecho es menor o igual que el de
su padre.
El nivel de un nieto derecho es estrictamente menor
que el de su abuelo.
Cada nodo de nivel mayor que uno debe tener dos
hijos.

Estas operaciones se llaman torsin (skew) y divisin


(split). La torsin es una rotacin derecha que se
realiza cuando una insercin o un borrado genera un
enlace horizontal izquierdo, puede pensarse como un
enlace rojo izquierdo en el contexto del rbol rojonegro. La divisin es una rotacin izquierda
condicional que tiene lugar cuando una insercin o un
borrado crea dos enlaces horizontales derechos, lo
que de nuevo se corresponde con dos enlaces rojos
consecutivos en el contexto de los rboles rojo-negro.

RBOL B+
Un rbol-B+ es una variacin de un rbol-B. En un rbol-B+, en contraste
respecto un rbol-B, toda la informacin se guarda en las hojas. Los
nodos internos slo contienen claves y punteros. Todas las hojas se
encuentran en el mismo, ms bajo nivel. Los nodos hoja se encuentran
unidos entre s como una lista enlazada para permitir bsqueda
secuencial.
El nmero mximo de claves en un registro es llamado el orden del rbolB+.
El mnimo nmero de claves por registro es la mitad del mximo nmero
de claves. Por ejemplo, si el orden de un rbol-B+ es n, cada nodo
(exceptuando la raz) debe tener entre n/2 y n claves.
El nmero de claves que pueden ser indexadas usando un rbol-B+ est
en funcin del orden del rbol y su altura.
Para un rbol-B+ de orden n, con una altura h:
Nmero mximo de claves es: nh
Nmero mnimo de claves es: 2(n / 2)h 1

rbol-B
B-rbol es un rbol de bsqueda que puede estar
vaco o aquel cuyos nodos pueden tener varios hijos,
existiendo una relacin de orden entre ellos, tal como
muestra el dibujo.
Un rbol-B de orden M (el mximo nmero de hijos
que puede tener cada nodo) es un rbol que satisface
las siguientes propiedades:
Cada nodo tiene como mximo M hijos.
Cada nodo (excepto raz y hojas) tiene como mnimo
M/2 hijos.

La raz tiene al menos 2 hijos si no es un nodo hoja.


Todos los nodos hoja aparecen al mismo nivel.
Un nodo no hoja con k hijos contiene k-1 elementos
almacenados.
Los hijos que cuelgan de la raz (r1, , rm) tienen que
cumplir ciertas condiciones:
El primero tiene valor menor que r1.
El segundo tiene valor mayor que r1 y menor que r2, etc.
El ltimo hijo tiene valor mayor que

Das könnte Ihnen auch gefallen