計算量を考える上で欠かせないのが「O記法(ビッグオー記法)」です。これは、データの数 N が非常に大きくなったときに、計算時間がどれくらい急激に増加するかの「最悪の場合のオーダー(規模)」を示すものです。代表的な計算量には、データ量に関わらず一定の時間で終わる O(1)、データ量に比例して時間が増える O(N)、二分探索のようにデータが増えても時間が少ししか増えない O(log N)、そして二重ループのようにデータ量の2乗に比例して時間が爆発的に増える O(N^2) などがあります。実際の開発現場では、扱うデータが数万件、数百万件となることが珍しくありません。このような大規模なデータを扱う場合、O(N^2) のアルゴリズムでは処理に数時間かかってしまうものが、O(N log N) のアルゴリズムを採用するだけで数秒で完了するほど劇的な差が生まれます。そのため、アルゴリズムを選択する際には常に計算量を意識することが不可欠です。
試験でのポイント