Está en la página 1de 3

Arbol 2-3

Es un arbol que cumple con las siguientes


ARBOL 2-3 condiciones para garantizar su adecuado
balanceo.
(Un arbol triario Ordenado Balanceado) • Todas las hojas se encuentran en el mismo
nivel, ordenadas de izquierda a derecha.
• Todos los nodos internos tienen por lo
menos 2 subarboles asociados no vacios,
aunque la raiz derecha este vacia.

• Son un tipo de árbol balanceado por altura


(height balanced).Se define como un árbol en • Fueron introducidos con el objeto de
dónde todos los nodos no-terminales tienen 2 mejorar el tiempo de acceso en estructuras
ó 3 decendientes y todos los nodos hoja de datos manejadas en memoria secundaria,
tienen la misma longitud (path length) o en las cuales el número de consultas a un
distancia desde la raíz. registro influye de manera determinante en
el tiempo de respuesta de la operación.

Pseudocodigo de inserción en un árbol 2-3

Si el árbol esta vacío


entonces crea un nuevo nodo y colocar r1 en el lado izquierdo del nodo .
Si ya hay un elemento y existe espacio en el nodo
La estructura de un arbol 2-3 exige que el
hacer
crecimiento no se haga a nivel de las hojas
si r1 es menor que el elemento
( aunque la insercion sigue siendo en las entonces el elemento 0.se coloca a la derecha .
hojas), sino a nivel de la raíz, ya que todas si no
las hojas se deben mantener siempre en el si r1 es mayor que el elemento
mismo nivel. El proceso global de inserción entonces el elemento se coloca del lado izquierdo y r1 del lado derecho.
comienza por localizar la hoja en la cual se
si no
debe agregar el elemento.
si el nodo esta lleno se parte en dos nodos del mismo nivel, se crea un nuevo
nodo y se reparten los tres elemento(dos elementos del nodo y el nuevo
elemento).

1
Se pueden presentar varios casos para la
inserción.

Después Caso 1.- Existe espacio en el nodo. Se coloca allí


si elemento es mayor que r2, sube r2 a su padre. adecuadamente el elemento y la estructura de
si elemento es menor que r1, sube r1 a su padre. un arbol no se altera.
si elemento es mayor que r1, pero menor que r2 sube el Situación inicial Situación final
elemento a su padre.
r1 r1<elem r1 elem

r1>elem elem r1
r1

Caso 2.- El nodo está lleno. Este se debe partir en dos


nodos del mismo nivel, repartiendo los tres elementos
(dos elementos del nodo y el nuevo elemento). De la
siguiente manera
Luego, el elemento que no fue incluido en los dos nodos
Situación inicial Situación intermedia nuevos, se sube en la estructura y se inserta en su padre. El
proceso se repite hacia arriba, ya que al partir en dos el
r1 r2 elem>r2 r1 elem
Sube r2 nodo se esta generando un nuevo subárbol que puede
generar que los ancestros se tengan que partir a su vez para
elem r2
poderlo incluir, como se muestra en el siguiente ejemplo.
r1 r2 elem<r1 Sube r1

r1 r2 Sube elem
r1 r2 r1<elem<r2

Inserta el elemento 30: se crea una hoja y se coloca el


30 elemento como raíz izquierda
Inserta el elemento 65: corresponde al
15 63
caso 2. Se parte la hoja y sube al padre
el elemento de la mitad (63). Al
Inserta el elemento 2: corresponde al caso 1. Se mueve a la
derecha la raíz izquierda para dar cabida al nuevo insertar dicho valor en el padre se
2 30
elemento. 2 30 65 trata como el caso 1, porque en el nodo
hay espacio.
Inserta el elemento 15: corresponde al caso 2.
15
Encuentra una hoja llena. La parte en dos nodos
e inserta en el padre el elemento que se encuentre Inserta el elemento 1: correspondiente
en la mitad de los tres (2<15<30). Como el padre 15 63
al caso 1.
2 30 es vacío, se crea un nuevo nivel se coloca el
elemento como la raíz izquierda del nodo y se le
asocia los dos nodos que se acaban de partir. 1 2 30 65

Inserta el elemento 63: correspondiente al caso 1.


15

2 30 63

2
Inserta el elemento 0: corresponde al
15
caso 2. Se parte la hoja (1,2) ,se coloca
alli los elementos 0 y 2 y sube el valor 1
a su padre. Como el nodo del padre BIBLIOGRAFIA
1 63 (15,63) esta lleno tambien se debe
partir, dejando en ese nivel los
elementos 1 y 63, y subiendo el 15.
0 2 30 65 DISEÑO Y MANEJO DE ESTRUCTURA DE
DATO EN C
15 Inserta el elemento 14: correspondiente
al caso 1.
THE DESIGN AND ANALYSIS OF COMPUTER
1 63 ALGORITHMS.
AHO, ALFRED V.
0 2 14 30 65

También podría gustarte