時間計算量 【time complexity】

概要

時間計算量(time complexity)とは、コンピュータが特定の手順に従って与えられた問題を解く際に必要とする手順の回数。これが少ないほど、より短い時間で問題を解くことができる。

ある問題をコンピュータによって解くには、計算や操作、比較、分岐、繰り返しなど単純な処理を組み合わせたアルゴリズムを定義して、これをコンピュータプログラムの形で実装して実行する。その際、あるアルゴリズムが問題を解くにあたって実行しなければならない処理や操作などの回数(ステップ数)のことを時間計算量という。

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

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

(2018.12.24更新)

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

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