You are on page 1of 12

Árboles paginados

Materia: Seminario de solución de problemas de estructuras de datos II


Fecha: 17 de noviembre de 2018
Quizá la característica más crítica de los
dispositivos de almacenamiento

La idea de secundario es que desplazarse a una


localidad específica toma un tiempo
relativamente largo, pero una vez que la
paginación cabeza lectora está en posición y lista, leer
o escribir un conjunto de bytes contiguos
se efectúa rápidamente. Esta combinación
de desplazamiento lento y transferencia
rápida lleva naturalmente a la idea de
paginación.
Al dividir un árbol binario en páginas y
después almacenar cada página en un
bloque de localidad contiguas en disco Búsquedas
debe ser posible reducir el número de
desplazamientos asociados con cualquier
búsqueda.
mucho más
En concreto, dividir el árbol en páginas
permite búsquedas más rápidas en rápidas
almacenamiento secundario, y proporciona
una extracción mucho mas rápida.
Reducción del
número de La paginación, entonces, es una solución
potencial al problema de la búsqueda. Al
dividir un árbol binario en páginas y
desplazami- después almacenar cada página en un
bloque de localidad contiguas en disco

entos debe ser posible reducir el número de


desplazamientos asociados a cualquier
búsqueda.
Un ejemplo típico de tamaño de
página puede ser de 8 kilobytes,
capaz de almacenar 511 parejas de
campos de llaves y referencias. Con
este tamaño de página, y suponiendo
que cada página contiene un árbol
lleno, completamente balanceado, y
que las páginas por sí mismas están
Ejemplo
organizadas como un árbol lleno
completamente balanceado,
entonces es posible encontrar
cualquiera de 134 217 727 llaves con
sólo tres desplazamientos. Esa es la
clase de desempeño que se está
buscando.
El tiempo de El uso de grandes páginas no es gratuito.
Todo acceso a una página requiere la
transmisión de una gran cantidad de
transmisión datos, la mayoría de los cuales no se
usan.

es Sin embargo, este tiempo de transmisión


adicional justifica su costo debido a que
ahorra muchos desplazamientos, los
justificable cuales consumen más tiempo que las
transmisiones adicionales.
• Dividir el árbol binario en páginas.
• Almacenar cada página en un bloque
de direcciones contiguas en disco.
• Dividir el árbol en páginas permite
Estrategia
búsquedas más rápidas en
almacenamiento secundario.
El problema, una vez que se decide realizar
El Problema un árbol paginado, es cómo construirlo. Si
se tiene todo el conjunto de llaves a la
con la mano antes de construir el árbol, la
solución es relativamente sencilla: puede
construcción clasificarse la lista de llaves y construir el
árbol a partir de esta lista, se sabe dónde
descendente comenzar, y se asegura que este punto
inicial divide el conjunto de llaves en forma
de los balanceada.

árboles Por desgracia, el problema es mucho más


complejo cuando se reciben llaves en
paginados orden aleatorio y se insertan tan pronto
como se reciben.
Supóngase que debe construirse un árbol en páginas conforme se recibe la siguiente
secuencia de llaves de una sola letra:
C S D TA M P I B W N G U R K E H O L J YQ Z F X V

D
C S
A M U

B I P T W

G K N R V Y

E H J L O Q X Z
F
Aunque este árbol no está demasiado deforme, ilustra claramente los
problemas inherentes a la construcción de un árbol binario paginado
en forma descendente. Cuando se comienza a partir de la raíz, las llaves
iniciales deben, por necesidad, ir en la raíz. En este ejemplo al menos
dos de estas llaves, C y D, no son las que se quisiera tener ahí. Son
adyacentes en la secuencia y tienden hacia el principio del conjunto
total de llaves. En consecuencia, hacen que el árbol salga de balance.
Bibliografía
Estructura de archivos, un conjunto de herramientas conceptuales.
Michael J. Folk.