空間計算量 【space complexity】 領域計算量

概要

空間計算量(space complexity)とは、コンピュータが特定の手順に従って与えられた問題を解く際に必要とする記憶領域の容量。これが少ないほど、より少ないメモリ容量で問題を解くことができる。

ある問題をコンピュータによって解くには、計算や操作、比較、分岐、繰り返しなど単純な処理を組み合わせたアルゴリズムを定義して、これをコンピュータプログラムの形で実装して実行する。その際、あるアルゴリズムが問題を解くにあたって一度に占有する必要があるメモリなどの記憶装置の容量のことを空間計算量という。

具体的に必要な量は問題の要素数によって変動することが多いため、容量を要素数ので表したときに支配的な大きさの項を用いて「O(項)」と表記することが多い(オーダー記法)。例えば、空間計算量がO(1)ならば要素数に依らず一定の容量が必要なアルゴリズムであり、O(n2)ならば要素数の2乗に比例して必要なメモリ容量が増える。

一方、問題を解く際に実行しなければならない手順の数(ステップ数)のことは時間計算量という。多くの問題は複数のアルゴリズムで解くことができ、空間計算量も時間計算量も少ないアルゴリズムが優れたアルゴリズムであると言えるが、一般的にはメモリを多く費やせば短時間で解け、長時間かければ少ないメモリ容量で済むという「時間と空間のトレードオフ」の関係が現れることが多い。

(2018.12.24更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる