IT用語
(
ひよぺん
)
Home
コラム
用語集
About
検索
Ctrl K
Esc
見つかりませんでした
調べたいIT用語を入力してね
O記法(ビッグオー記法)
おーきほう
プログラミング
用語集
› 💻 プログラミング › O記法(ビッグオー記法)
【おーきほう】
O記法(ビッグオー記法) とは?
最終更新:
2026年4月2日
💡 アルゴリズムの「速さの格付け」
📌 このページのポイント
O(1)
定数
時間、O(log n)対数、O(n)線形、O(n²)二乗が代表的
データ量nが大きくなった時の振る舞い(漸近的な上界)を表す
定数
倍は無視し、最悪ケースの振る舞いを示すことが多い
アルゴリズム
選択や
コードレビュー
の共通言語
O記法 — 計算量の比較
実行時間
入力サイズ (n)
O(1)
O(log n)
O(n)
O(n log n)
O(n²)
配列アクセス
二分探索
線形探索
マージソート
O記法による計算量の増加パターン
ひよこ
具体的にどういう意味?
ペンギン先生
データ量nが増えた時に処理時間がどう増えるかを表す。O(1)はnに関係なく一定時間(
配列
のインデックスアクセス)。O(n)はnに比例(
配列
の全探索)。O(n²)はnの二乗に比例(二重
ループ
)。n=1000の時、O(n)は1000回、O(n²)は100万回。O(n²)の
アルゴリズム
はn=10万で実用不可能になるよ
ひよこ
定数
倍は無視していいの?
ペンギン先生
O記法では無視する。O(2n)もO(100n)もO(n)と書く。nが十分大きければ
定数
倍より次数の違いが圧倒的に効く。O(n) vs O(n²)はn=1万で1万倍の差になる。ただし実務ではnが小さいケースも多く、
定数
倍が効くことがある。O(n)でも
定数
が大きければO(n log n)の方が速いこともあるんだよ
ひよこ
よく使う計算量を覚えたい!
ペンギン先生
①O(1):
ハッシュテーブル
の検索、②O(log n):
二分探索
、③O(n):線形探索、④O(n log n):ソート(
マージソート
、
クイックソート
)、⑤O(n²):二重
ループ
、バブルソート、⑥O(2ⁿ):部分集合の全列挙。面接では「この関数の計算量は?」と聞かれることが多いから、代表的なパターンを覚えておこうね
ひよこ
空間計算量って何?
ペンギン先生
時間計算量
(処理時間)だけでなく、空間計算量(メモリ使用量)もO記法で表す。
マージソート
は時間O(n log n)だけど空間O(n)が必要。
ヒープソート
は時間O(n log n)で空間O(1)。メモリが限られる
組み込みシステム
では空間計算量が重要。「時間と空間のトレードオフ」は
アルゴリズム
設計の基本だよ
まとめ:ざっくりこれだけ覚えればOK!
「O記法」って出てきたら「
アルゴリズム
の効率を表す表記法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Big O Notation」
= ビッグオー記法
💬 ドイツの数学者パウル・バッハマンが導入した記法。Oは「Order(次数)」を表すよ
🔗 あわせて読みたい
二分木(バイナリツリー) とは?
動的プログラミング(DP) とは?
ソートアルゴリズム とは?
シェアする
X
URLコピー
← 用語集にもどる