Upgrade to Pro — share decks privately, control downloads, hide ads and more …

計算量考えてます?

 計算量考えてます?

Avatar for umekikazuya

umekikazuya

November 06, 2025

Other Decks in Programming

Transcript

  1. 計算量?探索アルゴリズム?なにそれ。 01. What ? アルゴリズム: 「問題を解決するための手順や計算方法」のこと全般を指します 日常例 乗換案内 料理 etc...

    複数の選択肢から、何を重視するのかによって私た ちはその時の自分にとっての最適なアルゴリズムを 選んでいます。 乗り換え案内アプリのアルゴリズム
  2. 線形探索 データ群の端から1つずつ順番に探索 対象であるかチェックしていく探索方 法

 PHPの in_array 等はこれ。 ハッシュ探索 データの格納位置を参照する探索方法

 Redis等の設計はこれ。

    二分探索 配列の中間にある値をチェックし、探 索対象がそれよりも「大きい」「小さ い」などで切り分けていく探索方法

 SQLのb-treeインデックスはこれ。 うーん、まだしっくりきませんよね。 計算量?探索アルゴリズム?なにそれ。 01. What ?
  3. 計算量?探索アルゴリズム?なにそれ。 01. What ? 線形探索 の場合

 1の段から答えを最初順番に数えていく方法 ハッシュ探索 の場合

 頭の中でどうやって導きました?

    脳内のキャッシュ使いましたよね? 二分探索 の場合

 1行ずつじゃなく、 真ん中あたりから見て範囲を半分に絞っていく
  4. 「2 ≦ a ≦ 100、2 ≦ b ≦ 100 のとき、a^b

    によってできる異なる数はいくつあるでしょうか?」