データ構造データ構造シラバス9.0
配列とは?
読み方: はいれつ
1行定義(シラバス9.0 / IPA公式 · 確認日 2026-06-08)
同じ型の要素を連続したメモリ領域に並べたデータ構造。添字(インデックス)で任意要素にO(1)でアクセス可能
詳細解説
配列(Array)は、同じデータ型の要素を連続したメモリ領域に一列に並べたデータ構造です。各要素には0または1始まりの整数の添字(インデックス)が対応し、「配列名[添字]」という形式で任意の要素にO(1)(定数時間)でアクセスできます。これは、配列の先頭アドレスと要素サイズがわかれば「先頭アドレス + 添字×要素サイズ」で目的要素のアドレスを直接計算できるためです。配列の主な操作と計算量:参照・更新O(1)、末尾追加O(1)、先頭・中間への挿入/削除O(n)(後続要素のシフトが必要)。固定長配列のサイズはコンパイル時(または初期化時)に決定し、サイズ変更は困難です。動的配列(Java: ArrayList、Python: list)は内部で配列を使いながら自動的にサイズを拡張します。FE試験の疑似言語問題では、1次元配列の線形探索・ソートのトレースが頻出です。また2次元配列(行列)を使った画像処理・表操作の問題も出題されます。連結リストとの比較(ランダムアクセス性能 vs 挿入・削除性能のトレードオフ)も重要な論点です。
FE試験での出題ポイント
- 1任意要素へのアクセスO(1):インデックス計算で直接アドレス特定
- 2挿入・削除O(n):後続要素のシフトが必要(連結リストと逆のトレードオフ)
- 32次元配列(行列):array[行][列]の添字表現
- 4FE疑似言語:配列の添字は0始まりか1始まりか(問題文で確認必須)
関連用語
IPA シラバス 9.0 準拠 / 最終更新: 2026-06-08