Brecha de búfer

Un búfer de espacio, en Ciencias de la computación, es una estructura de datos utilizada para almacenar vectores largos de forma compacta, mientras se mantienen operaciones de inserción y eliminación eficientes, siempre que se realicen alrededor de la misma ubicación.

Los búferes de espacio son especialmente comunes en los editores de texto, donde hay muchos cambios en el texto o cerca de la posición actual del cursor. El texto se almacena en un búfer grande en dos segmentos contiguos, con un espacio entre ellos para insertar texto nuevo. Mover el cursor produce una copia del texto de un lado del espacio al otro (a veces la copia permanece en espera hasta la siguiente operación de edición de texto). La inserción agrega el nuevo texto al final del primer segmento. Eliminar aumenta el tamaño de la brecha. La ventaja de usar un búfer de separación sobre estructuras de datos más sofisticadas (como listas enlazadas) es que el texto se representa simplemente como dos cadenas literales, que ocupan un espacio extra muy pequeño y que se pueden buscar y mostrar muy rápidamente. La desventaja es que las operaciones en diferentes ubicaciones del texto y las relacionadas con llenar el vacío (que requieren que se cree un nuevo vacío) requieren una copia adicional de una gran cantidad de texto, lo que es particularmente ineficiente para archivos grandes. El uso de Gap buffers se basa en la suposición de que este tipo de copia ocurre muy raramente y que su costo puede ser amortizado por operaciones más comunes. El espacio de búfer es ampliamente utilizado en el editor Emacs de GNU.

A continuación se muestran algunos ejemplos de operaciones con búferes de espacio. La brecha se representa de una manera "pintoresca" por el espacio vacío entre los corchetes. Esta representación es un poco confusa: en una implementación típica, el punto final (puntos finales) de la brecha se representan mediante punteros, y el contenido de la brecha se ignora; esto permite, por ejemplo, realizar una eliminación ajustando un puntero sin cambiar el texto en el búfer. Estado inicial: el usuario introduce nuevo texto: el usuario mueve el primer cursor de "iniciado" ; el sistema mueve "iniciado" del primer búfer al segundo. El usuario añade texto rellenando el hueco; el sistema crea un nuevo hueco: .

Sin fuentes de programación

Estructuras de datos

Paradigma de programación

En Ciencias de la computación, un paradigma de programación es un estilo fundamental de programación, que es un conjunto de herramientas conceptuales proporcion...

Set (Ciencias de la computación)

El conjunto es, en Ciencias de la Computación, un tipo de datos abstractos que consiste en una colección de valores dispuestos en orden aleatorio y sin valores ...

Paradigmas de programación

Esta página se basa en el artículo de Wikipedia: Fuente, Autores, Licencia Creative Commons Reconocimiento-CompartirIgual.
This page is based on the Wikipedia article: Source, Authors, Creative Commons Attribution-ShareAlike License.
contactos
Política de privacidad , Descargos de responsabilidad