アルゴリズムとプログラミング
O 記法(ビッグオー)に関する記述として、最も適切なものはどれか。
ア.アルゴリズムが必ず要する最良の実行時間を表す。
イ.アルゴリズムの実行時間の上界(最悪に近い増え方)を漸近的に表す。正解
ウ.アルゴリズムが消費する記憶領域の正確な値を表す。
エ.アルゴリズムの正しさを形式的に証明する記法である。
解説
O 記法は「入力が増えたとき、計算量がどれくらいまでで収まるか」の上限を雑に表す道具。実時間の正確値ではなく「天井のオーダー」です。
なぜ イ が正解か
イが正解。O(f(n)) は「ある定数 c と n₀ が存在し、n ≥ n₀ で T(n) ≤ c·f(n)」という意味で、計算量の漸近的上界を表します。最悪計算量を雑に押さえる用途で使われ、定数や低次の項は無視するのが流儀です。
出典: AI生成問題(学習用)