Последовательный доступ — это термин, описывающий группу элементов (например, данные в массиве памяти или файле на диске или на магнитной ленте ), к которым осуществляется доступ в предопределенной, упорядоченной последовательности . Это противоположность случайному доступу , возможность получить доступ к произвольному элементу последовательности так же легко и эффективно, как и к любому другому в любое время.
Последовательный доступ иногда является единственным способом доступа к данным, например, если они находятся на ленте. Это также может быть методом доступа по выбору, например, если все, что требуется, это обработать последовательность элементов данных по порядку. [1]
В компьютерной науке нет единого определения последовательного доступа или последовательности. [2] [3] [4] [5 ] [6] [7] [8] [9] [ неправильный синтез? ] Фактически, различные определения последовательности могут приводить к различным результатам количественной оценки последовательности. В пространственном измерении размер запроса, расстояние шага, обратный доступ, повторный доступ могут влиять на последовательность. Для временной последовательности такие характеристики, как многопоточность и пороговое значение времени между прибытиями, влияют на определение последовательности. [10]
В структурах данных говорят, что структура данных имеет последовательный доступ, если можно посещать содержащиеся в ней значения только в одном определенном порядке. [ требуется ссылка ] Каноническим примером является связанный список . Индексирование в списке, который имеет последовательный доступ, требует O ( n ) времени, где n — индекс. В результате многие алгоритмы, такие как быстрая сортировка и двоичный поиск, вырождаются в плохие алгоритмы, которые еще менее эффективны, чем их наивные альтернативы; эти алгоритмы непрактичны без случайного доступа . С другой стороны, некоторые алгоритмы, как правило, те, которые не имеют индекса, требуют только последовательного доступа, такие как сортировка слиянием , и не подвергаются никаким штрафам.