Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
計算量考えてます?
Search
Kazuya Umeki
November 06, 2025
Programming
17
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
計算量考えてます?
Kazuya Umeki
November 06, 2025
More Decks by Kazuya Umeki
See All by Kazuya Umeki
UI実装者が書いたシナリオだからこそ、 意味を持つk6負荷試験
umekikazuya
0
21
【golang】構造体のフィールド宣言順序は パフォーマンスにどう影響するか?
umekikazuya
0
3
厚いFW・ORMの誘惑と技術選定のリアル
umekikazuya
0
3
フレームワークの「恩恵」と「制約」を見極めたバッチ処理の高速化
umekikazuya
0
10
Other Decks in Programming
See All in Programming
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
Jetpack Compose Mechanisms
skydoves
3
820
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
140
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Next.js: The final boss of Web Performance
guaca
0
250
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Designing for Performance
lara
612
70k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Transcript
計算量考えてます? 探索アルゴリズムに触れてみましょ
自己紹介 興味のある領域 原則、デザインパターン テスト DDD API設計 興味はないけどがんばってる分野 データベース設計 SQL AI
言語・フレームワークの作法 umekikazuya です。
お話すること 探索アルゴリズムは最適化の入口 線形探索、ハッシュ探索, 二分探索 を直感で理解する 実務では「DB」「キャッシュ」で常に使われている
Agenda Why ? え、なんでアルゴリズムやらなきゃいけないの? What ? 計算量?探索アルゴリズム?なにそれ。 How ? デモをお見せします。アルゴリズムを体現して下さい。
01 02 03
01. Why ? なんでアルゴリズムとかやらなきゃいけないの?
え、なんでアルゴリズムやらなきゃいけないの? 01. Why ? こんな経験ありませんか?
え、なんでアルゴリズムやらなきゃいけないの? 01. Why ? 「30分かかっているバッチ処理を、15分に短縮してほしい」 「5秒かかっているAPIレスポンスを、2秒以内にしてほしい」 「社員一覧の表示が重すぎるから、なんとかして」 「SQLをチューニングしたけど、まだ遅い…」
え、なんでアルゴリズムやらなきゃいけないの? 01. Why ? 業務用アプリであれば利用者の業務効率に直結する クラウドの民に嫌われます 馬鹿にされます(されました) という表向きの建前がありつつも...。
え、なんでアルゴリズムやらなきゃいけないの? 01. Why ? アルゴリズムは今日からでも入門できます。 楽しいです。
02. What ? 計算量?探索アルゴリズム?なにそれ。
計算量?探索アルゴリズム?なにそれ。 01. What ? アルゴリズム: 「問題を解決するための手順や計算方法」のこと全般を指します 日常例 乗換案内 料理 etc...
複数の選択肢から、何を重視するのかによって私た ちはその時の自分にとっての最適なアルゴリズムを 選んでいます。 乗り換え案内アプリのアルゴリズム
計算量?探索アルゴリズム?なにそれ。 01. What ? 計算量とは アルゴリズムが動くときに必要な時間やメモリの増え方を表すもの うーん、ちょっとしっくりきませんよね。
線形探索 データ群の端から1つずつ順番に探索 対象であるかチェックしていく探索方 法 PHPの in_array 等はこれ。 ハッシュ探索 データの格納位置を参照する探索方法 Redis等の設計はこれ。
二分探索 配列の中間にある値をチェックし、探 索対象がそれよりも「大きい」「小さ い」などで切り分けていく探索方法 SQLのb-treeインデックスはこれ。 うーん、まだしっくりきませんよね。 計算量?探索アルゴリズム?なにそれ。 01. What ?
計算量?探索アルゴリズム?なにそれ。 01. What ? 九九教えて! 答えが 49 のやつってなんだっけ!? 例1
計算量?探索アルゴリズム?なにそれ。 01. What ? 線形探索 の場合 1の段から答えを最初順番に数えていく方法 ハッシュ探索 の場合 頭の中でどうやって導きました?
脳内のキャッシュ使いましたよね? 二分探索 の場合 1行ずつじゃなく、 真ん中あたりから見て範囲を半分に絞っていく
計算量?探索アルゴリズム?なにそれ。 01. What ? 運命の人への出会い方 例2
線形探索(リニアサーチ) 全人口を確認する感じ。 ハッシュ探索(ハッシュ法) 「これって運命!?」って感じ。 二分探索 共通の趣味とかで 「的」 を絞ってる 感じ。 計算量?探索アルゴリズム?なにそれ。
01. What ? 運命の人への出会い方
02. How ? デモをお見せします。 アルゴリズムを体現して下さい。
「2 ≦ a ≦ 100、2 ≦ b ≦ 100 のとき、a^b
によってできる異なる数はいくつあるでしょうか?」
ライブコーディング
まとめ アルゴリズムは面白い。 キャッシュデータを作る時はハッシュ探索一択。 機会があれば他のアルゴリズムも紹介します。