
シーケンシャルアクセスとは、メモリ配列、ディスクファイル、磁気テープデータストレージなどの要素群が、あらかじめ定められた順序でアクセスされることを指す用語です。これは、任意の要素にいつでも他の要素と同じように容易かつ効率的にアクセスできるランダムアクセスとは正反対のものです。
シーケンシャルアクセスは、例えばデータがテープ上にある場合など、データにアクセスする唯一の方法となることがあります。また、例えば一連のデータ要素を順番に処理することだけが目的の場合など、シーケンシャルアクセスが最適なアクセス方法となることもあります。[ 1 ]
コンピュータサイエンスには、シーケンシャルアクセスやシーケンシャリティの一貫した定義はありません。 [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]実際、異なるシーケンシャリティの定義は、異なるシーケンシャリティ定量化結果につながる可能性があります。空間次元では、要求サイズ、ストライド距離、後方アクセス、再アクセスがシーケンシャリティに影響を与える可能性があります。時間的シーケンシャリティについては、マルチストリームや到着間隔時間閾値などの特性がシーケンシャリティの定義に影響を与えます。[ 10 ]
データ構造において、データ構造に含まれる値を特定の順序でしかアクセスできない場合、そのデータ構造はシーケンシャルアクセスを持つと言われます。[ 11 ]典型的な例はリンクリストです。シーケンシャルアクセスを持つリストへのインデックス付けには、インデックスをnとするとO ( n ) の時間が必要です。その結果、クイックソートやバイナリサーチなどの多くのアルゴリズムは、単純な代替アルゴリズムよりもさらに効率の悪い悪いアルゴリズムに退化してしまいます。これらのアルゴリズムは、ランダムアクセスなしでは実用的ではありません。一方、マージソートのように、インデックスを持たないアルゴリズムなど、シーケンシャルアクセスのみを必要とするアルゴリズムもあり、ペナルティはありません。
{{cite web}}: CS1 maint: url-status (リンク)