Beruflich Dokumente
Kultur Dokumente
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).
Ejemplo de un arbol
A
padre
hijos
Tipos de arboles
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.
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
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:
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".
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.
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.
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.
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.
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.
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:
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.