Está en la página 1de 7

Tema 6 EDP

Almacenamiento externo
El objetivo es realizar el mayor numero de accesos al disco al almacenar y
recuperar datos.
Arboles binarios almacenados en un fichero: primera aproximación
Los enlaces son direcciones de memoria externa.
El peor caso, el numero de accesos a disco si se aplican los mismos
algoritmos de memoria interna para la búsqueda:
 Arbol binario: O (n).
 Arboles binarios equilibrados: O (log^2 n).
Arboles binarios paginados: segunda aproximación
Estos se basan en organizar los nodos agrupándolos por páginas, cada
acceso recupera una página con valores clave y así se reduce el numero de
accesos en la búsqueda.
Arboles de búsqueda multirama
Es un arbol m-ario donde todos los nodos son de grado m o menores, cada
nodo tiene como máximo m hijos y m -1 valores clave y si el numero de
hijos de un nodo es k < m entonces el numero de valores clave será k -1.
Si T está vacío, entonces T es un arbol de búsqueda de m ramas, si no,
cada nodo de T responde al siguiente esquema:

Búsqueda
Esta consiste en dos pasos:
 Determinar si el valor esta en el nodo raíz.
 En caso negativo, buscar en el siguiente subárbol apropiado.
La diferencia esta en el primer paso, se necesita realizar una búsqueda
dicotómica dentro del nodo, esto garantiza que se encontrara el valor en
tiempo de orden logarítmico o se sabrá por que enlace hay que descender
(la indicada por la búsqueda dicotómica) y cada nodo del camino de
búsqueda y la posición del descenso a partir de él, se almacenan en una
pila.
Numero de nodos y valores clave

Arbol 2-3-4
Son arboles de 4 ramas de búsqueda organizados, en el que cada nodo
puede contener 1, 2 o 3 valores de clave ordenados.

Los subárboles son arboles 2-3-4 y todos los caminos desde la raíz hasta
las hojas tienen la misma longitud ya que están perfectamente
equilibrados, además los nodos internos no contienen enlaces nulos.

Inserción en un arbol 2-3-4


La operación básica es la partición, se divide un 4-nodo en un 2-nodo y se
sitúa el valor de clave del 4-nodo en el nodo padre, una vez localizado el
nodo hoja donde insertar el valor, si es un 2-nodo o un 3-nodo se inserta
directamente, si es un 4-nodo se realiza una partición, se añade un nuevo
valor al 2-nodo correspondiente (se convierte en un 3-nodo), en el peor
caso, esta partición se extendería hasta la raíz del arbol.

Ejemplo de inserción:
Queremos insertar el 42

Se realiza la búsqueda para encontrar el nodo hoja correspondiente.


Se realiza la partición del 3-nodo y se envía su antiguo valor de clave (47)
al nodo padre (convirtiéndolo en un 3-nodo).

Ya que el nodo en el que se encuentra el 38, es un 2-nodo podemos


insertar el 42 directamente sin necesidad de realizar otra partición.

A partir de la pág. 22+ esta la implementación.

También podría gustarte