← 情報I用語集 一覧へ
コンピュータとプログラミング

計算量とアルゴリズムの効率

(けいさんりょうとあるごりずむのこうりつ)

この記事はAIが作成しています

本文はAI(Claude)が学習指導要領や公開情報をもとに執筆・生成したものです。内容の正確性には配慮していますが、誤りが含まれる可能性があります。 気になる記述を見つけたら、下部の「誤りを報告する」からお知らせください。

データの量が増えたとき、処理にかかる時間や必要なメモリがどれくらい増えていくかを表す指標のこと。アルゴリズムの効率を比較するために使われる。

背景・歴史

同じ問題を解くアルゴリズムであっても、その手順の組み立て方によって、必要な計算の回数は大きく異なります。コンピュータサイエンスが発展する過程で、「このアルゴリズムは、データの量が増えたときにどれくらい処理時間が増えるのか」を客観的に比較するための考え方が必要とされ、「計算量」という概念や、それを表す「O記法(ランダウの記号)」といった表現方法が整理されました。これにより、実際にプログラムを実行して時間を測らなくても、手順を見ただけである程度の効率を見積もれるようになりました。

なぜこの考え方が使われるようになったのか

コンピュータの性能が向上しても、扱うデータの量はそれ以上のペースで増え続けることが多く、非効率なアルゴリズムを使っていると、データ量の増加に処理時間の増加が追いつかなくなってしまいます。計算量という考え方を使うことで、「データが2倍になったとき、処理時間はどれくらい増えるか」をあらかじめ予測でき、大量のデータを扱う場面でも実用的な速さを保てるアルゴリズムを選ぶことができます。

もう少し詳しく見てみる

計算量は、データの個数(多くはnという文字で表されます)に対して、処理時間がどう変化するかを大まかな式で表します。代表的な例には、次のようなものがあります。

  • O(n):データが2倍になれば、処理時間もおよそ2倍になる(例:線形探索)。
  • O(log n):データが2倍になっても、処理時間はわずかしか増えない(例:二分探索)。
  • O(n²):データが2倍になると、処理時間はおよそ4倍になる(例:単純な整列アルゴリズム)。

例えば、線形探索と二分探索を比較すると、データ数が少ないうちは差が小さくても、データ数が非常に多くなると、二分探索の方が圧倒的に高速になります。このように、計算量を意識することで、扱うデータの規模に応じた適切なアルゴリズムを選択できるようになります。

関連して知っておきたいこと

探索アルゴリズム整列アルゴリズムには複数の種類がありますが、それぞれの計算量を理解しておくことで、扱うデータの量や性質に応じて、最も適切なアルゴリズムを選べるようになります。

最終更新日:2026-07-23

誤りを報告する