Acceso secuencial


El acceso secuencial es un término que describe un grupo de elementos (como datos en una matriz de memoria o un archivo de disco o en almacenamiento de datos en cinta magnética ) a los que se accede en una secuencia ordenada predeterminada . Es lo opuesto al acceso aleatorio , la capacidad de acceder a un elemento arbitrario de una secuencia tan fácil y eficientemente como cualquier otro en cualquier momento.

El acceso secuencial es a veces la única forma de acceder a los datos, por ejemplo, si está en una cinta. También puede ser el método de acceso elegido, por ejemplo, si todo lo que se desea es procesar una secuencia de elementos de datos en orden. [1]

No existe una definición coherente en informática de acceso secuencial o secuencialidad. [2] [3] [4] [5] [6] [7] [8] [9] De hecho, diferentes definiciones de secuencialidad pueden conducir a diferentes resultados de cuantificación de secuencialidad. En la dimensión espacial, el tamaño de la solicitud, la distancia recorrida, los accesos hacia atrás y los reaccesos pueden afectar la secuencialidad. Para la secuencialidad temporal, características como el umbral de tiempo entre llegadas y flujos múltiples tienen un impacto en la definición de secuencialidad. [10]

En estructuras de datos, se dice que una estructura de datos tiene acceso secuencial si solo se pueden visitar los valores que contiene en un orden particular. El ejemplo canónico es la lista enlazada . La indexación en una lista que tiene acceso secuencial requiere O ( n ) tiempo, donde n es el índice. Como resultado, muchos algoritmos, como la ordenación rápida y la búsqueda binaria , degeneran en algoritmos malos que son incluso menos eficientes que sus alternativas ingenuas; estos algoritmos no son prácticos sin acceso aleatorio . Por otro lado, algunos algoritmos, generalmente aquellos que no tienen índice, solo requieren acceso secuencial, como mergesort, y no se enfrentan a ninguna sanción.


Acceso secuencial comparado con acceso aleatorio