markdown
計算量の基本
lecture/information/algorithm/foundation/計算量の基本-講義.n.md

計算量けいさんりょう基本きほん

date2026-03-27description計算量の基本を、入力が大きくなったときに処理時間と使用メモリがどう増えるかという見方から整理します。prerequisitesfor 文の反復 / 対数の基本 / 一次式と二次式type講義statusactiverelateddata/lecture/information/algorithm/アルゴリズムポータル-講義.n.md / data/lecture/information/algorithm/search/線形探索-講義.n.md / data/lecture/information/algorithm/search/二分探索-講義.n.md
algorithmfoundationundergraduatelecture

導入どうにゅう

この講義こうぎ最重要さいじゅうようなのは、アルゴリズムのはやさは、1 かい実行時間じっこうじかんではなく、入力にゅうりょくサイズがおおきくなったときにどうえるかでることです。

おな問題もんだいくアルゴリズムでも、入力にゅうりょくちいさいうちは目立めだたなくても、おおきくなると急激きゅうげきひらくことがあります。このかたるのが計算量けいさんりょうです。

用語ようご定義ていぎ

時間じかん計算量けいさんりょうTime complexity とは、入力にゅうりょくサイズ nたいして、処理回数しょりかいすうがどうえるかをあらわしたものです。

空間くうかん計算量けいさんりょうSpace complexity とは、追加ついか必要ひつようになるメモリがどうえるかをあらわしたものです。

方針ほうしん

まず、実際じっさい何回なんかいかえすかに注目ちゅうもくします。そのあと、定数倍ていすうばい低次ていじこう無視むしして、かた本質ほんしつだけをのこします。

直感的ちょっかんてき説明せつめい

線形探索せんけいたんさくは、最悪さいあくだと先頭せんとうから末尾まつびまで全部ぜんぶるので、入力にゅうりょくが 2 ばいになれば仕事量しごとりょうもだいたい 2 ばいになります。これが O(n) です。

二分探索にぶんたんさくは、1 かい比較ひかく候補こうほ半分はんぶんにするので、入力にゅうりょくがかなりえても比較回数ひかくかいすうはゆっくりしかえません。これが O(logn) です。

厳密げんみつ説明せつめい

1. ビッグ O

T(n)=3n+5

のような処理回数しょりかいすうは、おおきな n では nこう支配的しはいてきなので

T(n)=O(n)

きます。

2. 代表的だいひょうてきかた

  • O(1) : 一定時間いっていじかん
  • O(logn) : 対数的たいすうてき
  • O(n) : 線形せんけい
  • O(n2) : 二次にじ

3. 空間くうかん計算量けいさんりょう

配列はいれつをそのままむだけなら追加ついかメモリはちいさいですが、べつおなおおきさの配列はいれつつくれば O(n)空間くうかん計算量けいさんりょう必要ひつようです。

見分みわかた

  • 1 じゅうループならまず O(n)うたがいます。
  • 2 じゅうループならまず O(n2)うたがいます。
  • 範囲はんい半分はんぶんずつにけずるなら O(logn) です。
  • 配列はいれつひょう追加ついかでどれだけつくるかをると、空間くうかん計算量けいさんりょう見当けんとうがつきます。

最終形さいしゅうけい

[PARSE ERROR: Undefined("Command(\"boxed\")")]3n+5=O(n)
[PARSE ERROR: Undefined("Command(\"boxed\")")]半分に削るO(logn)

一言ひとことでいうと

  • 計算量けいさんりょうは、入力にゅうりょくおおきくなったときのかたでアルゴリズムをくらべる道具どうぐです。

関連かんれんリンク

data/lecture/information/algorithm/search/線形探索-講義.n.md data/lecture/information/algorithm/search/二分探索-講義.n.md
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
path をコピー
copy share link
copy share link
タブを全て閉じる