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 un almacenamiento de datos de cinta magnética ) a los que se accede en una secuencia predeterminada y ordenada . Es lo opuesto al acceso aleatorio , la capacidad de acceder a un elemento arbitrario de una secuencia con tanta facilidad y eficiencia como a cualquier otro en cualquier momento.
El acceso secuencial es a veces la única forma de acceder a los datos, por ejemplo, si están en una cinta. También puede ser el método de acceso elegido, por ejemplo, si lo único que se desea es procesar una secuencia de elementos de datos en orden. [1]
No existe una definición consistente en informática de acceso secuencial o secuencialidad. [2] [3] [4] [5 ] [6] [7] [8] [9] [¿ síntesis incorrecta? ] De hecho, diferentes definiciones de secuencialidad pueden llevar a diferentes resultados de cuantificación de secuencialidad. En la dimensión espacial, el tamaño de la solicitud, la distancia de zancada, los accesos hacia atrás y los re-accesos pueden afectar la secuencialidad. Para la secuencialidad temporal, características como el umbral de tiempo entre llegadas y de múltiples flujos tienen impacto en la definición de secuencialidad. [10]
En las 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. [ cita requerida ] El ejemplo canónico es la lista enlazada . La indexación en una lista que tiene acceso secuencial requiere tiempo O ( n ), donde n es el índice. Como resultado, muchos algoritmos como quicksort y búsqueda binaria degeneran en malos algoritmos que son incluso menos eficientes que sus alternativas ingenuas; estos algoritmos son imprácticos sin acceso aleatorio . Por otro lado, algunos algoritmos, típicamente aquellos que no tienen índice, requieren solo acceso secuencial, como mergesort , y no enfrentan ninguna penalización.