Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アルゴリズム基本概念-順次探索と二分探索
Search
mabupro
December 21, 2023
Education
0
120
アルゴリズム基本概念-順次探索と二分探索
大学で教職の授業を取っているので、初めて制作してみた授業のパワポです。
mabupro
December 21, 2023
Tweet
Share
Other Decks in Education
See All in Education
ANS-C01_2回不合格から合格までの道程
amarelo_n24
1
250
新卒交流ワークショップ
pokotyamu
0
420
Design Guidelines and Principles - Lecture 7 - Information Visualisation (4019538FNR)
signer
PRO
0
2.4k
미국 교환학생 가서 무료 홈스테이 살면서 인턴 취업하기
maryang
0
110
Data Physicalisation - Lecture 9 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
440
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
310
Data Management and Analytics Specialisation
signer
PRO
0
1.4k
Linuxのよく使うコマンドを解説
mickey_kubo
1
140
Human-AI Interaction - Lecture 11 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
460
Pydantic(AI)とJSONの詳細解説
mickey_kubo
0
100
技術勉強会 〜 OAuth & OIDC 入門編 / 20250528 OAuth and OIDC
oidfj
5
1.2k
JPCERTから始まる草の根活動~セキュリティ文化醸成のためのアクション~
masakiokuda
0
180
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Adaptive Systems
keathley
43
2.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Adopting Sorbet at Scale
ufuk
77
9.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Thoughts on Productivity
jonyablonski
69
4.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
We Have a Design System, Now What?
morganepeng
53
7.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Transcript
本日のめあて アルゴリズムの基本概念 順次探索法と二分探索法を理解しよう
「アルゴリズムたいそう」 を見たことがある人✋
アルゴリズムたいそう https://www2.nhk.or.jp/school/watch/bangumi/?das_id=D0005260216_0 0000#in=94&out=162アルゴリズム体操
こっちむいて 2人で 前ならえ あっちむいて 2人で 前ならえ こっちむいて 2人で 前ならえ あっちむいて
2人で 前ならえ 手を 横に あら あぶない 頭をさげれば ぶつかりません 手を 横に あら あぶない 頭をさげれば だいじょうぶ ぐるぐるぐる ぐるぐるぐる ぐーるぐる ぐるぐるぐる ぐるぐるぐる ぐーるぐる ぱっちん ぱっちん ガシン ガシン ぱっちん ぱっちん ガシン ガシン ぱっちん ぱっちん ガシン ガシン ぱっちん ぱっちん ガシン ガシン すって はくのが しんこきゅう すって はくのが しんこきゅう 「アルゴリズムたいそう」の歌詞 歌詞を見て、気づくことはありますか?
アルゴリズムの基本概念
アルゴリズムの基本概念 ① 順次処理 ② 分岐処理 ③ 繰り返し アルゴリズムの仕組みは3つでできている
① 順次処理 上から順番に 処理していく 処理1 処理2 処理3 アルゴリズムの基本概念
① 順次処理 アルゴリズムの基本概念 (例)レシピ ・豚バラを鍋に入れる ・豆腐を鍋に入れる ・鍋の火をつける
② 分岐処理 Yes 条件によって 処理の内容を変える No 処理1 処理2 条件 アルゴリズムの基本概念
② 分岐処理 アルゴリズムの基本概念 (例)ライト ・スイッチはON?OFF? ・ライトをつける ・ライトを消す
③ 繰り返し Yes 条件に当てはまる限り 処理を繰り返す No 処理 条件 アルゴリズムの基本概念
③ 繰り返し アルゴリズムの基本概念 (例)プリントを配る ・クラス全員にプリントを 配れたか? ・次の人にプリントを配る
アルゴリズムとは?
アルゴリズムとは? ナビ レシピ
アルゴリズムとは? アルゴリズムとは… 処理の手順
「アルゴリズムたいそう」 の歌詞を振り返ろう
こっちむいて 2人で 前ならえ あっちむいて 2人で 前ならえ こっちむいて 2人で 前ならえ あっちむいて
2人で 前ならえ 手を 横に あら あぶない 頭をさげれば ぶつかりません 手を 横に あら あぶない 頭をさげれば だいじょうぶ ぐるぐるぐる ぐるぐるぐる ぐーるぐる ぐるぐるぐる ぐるぐるぐる ぐーるぐる ぱっちん ぱっちん ガシン ガシン ぱっちん ぱっちん ガシン ガシン ぱっちん ぱっちん ガシン ガシン ぱっちん ぱっちん ガシン ガシン すって はくのが しんこきゅう すって はくのが しんこきゅう 「アルゴリズムたいそう」の歌詞を振り返ろう 順次処理 順次処理 分岐処理 繰り返し 「アルゴリズムたいそう」は処理(動き)の手順になっている
1人でやっても意味がわからない動きでも、 2人が組み合わさることによって意味を持つ、 アルゴリズム(物を解くための手順)をテーマにした体操。 「アルゴリズムたいそう」の歌詞 実際に、NHKのWebサイトには… 「アルゴリズムたいそう」の歌詞を振り返ろう
順次探索法と二分探索法
順次探索法と二分探索法 そもそも「探索法」とは? 多くのデータの中から条件に合致する データを探し出すためのアルゴリズム 名簿から 「田中太郎」 を探して
順次探索法と二分探索法 ① 順次探索法(線形探索法) 1つずつ順番に データを探す方法 1 2 3
順次探索法と二分探索法 ① 順次探索法(線形探索法) メリット: 処理の手順を簡単に作成することができる デメリット: データ個数が増えると時間がかかる(最大n回) 3000 3001 3002
3003 300
順次探索法と二分探索法 ② 二分探索法 データを半分に分け続けて探す方法 例)0~5のデータから「1」を探す 0 1 2 3 4
5 0 1 1 0 1 2 1/2にする 1/2にする(余るので+1) 1/2にする
順次探索法と二分探索法 ① 二分探索法 メリット: log(2)N回で求めることができる。 例)100個のデータのある数を求めるための比較回数 log(2)100 = log(2)10^2 =
2*log(2)10 = 6.643… = 最大7回 ※log(2)10 = 3.3219… デメリット: 1,2,3,~,100など順番に整列(ソート)する必要がある
アルゴリズムで遊んでみよう
アルゴリズムで遊んでみよう アルゴリズムで 誕生日を当ててみよう
アルゴリズムで遊んでみよう 直接答えを聞く以外で 誕生日を当てるには?
アルゴリズムで遊んでみよう 「アルゴリズムで誕生日を当ててみよう」 方法1:当てずっぽうに聞く(乱択アルゴリズム) > 運が良ければ1回で当たるが、1~366回かかる可能性がある 非効率 これらはアルゴリズム(処理の手順)として… 方法2:順番に聞く(順次探索法) > 1月1日からスタートし、12月31日の場合366回かかる可能性がある
アルゴリズムで遊んでみよう 「アルゴリズムで誕生日を当ててみよう」 では、どうすればいいのか… 二分探索法
アルゴリズムで遊んでみよう 「アルゴリズムで誕生日を当ててみよう」 「二分探索法」で誕生日を当ててみよう! ルール: ① 「はい」か「いいえ」で答える ② 1月1日スタート~12月31日 やり方:(例:12月27日) ①
1~12月の半分の【7月1日】より「早い」or「遅い」? ② 7~12月の半分の【10月1日】より「早い」or「遅い」? このように、半分にしながら誕生日がある範囲を狭めていく。
なぜ誕生日が分かるのか
なぜ誕生日が分かるのか(目標:12月27日) 紙を使って「二分探索」では何が起きているか知ってみよう 1月 2月 3月 4月 5月 6月 7月 8月
9月 10月 11月 12月 7月 8月 9月 10月 11月 12月 10月 11月 12月 1/2にする 1/2にする ① ② ③
なぜ誕生日が分かるのか(目標:12月27日) 紙を使って「二分探索」では何が起きているか知ってみよう 10月 11月 12月 1/2にする 1/2にする ③ ④ ⑤
11月 12月 12月
なぜ誕生日が分かるのか(目標:12月27日) 紙を使って「二分探索」では何が起きているか知ってみよう ⑤ ⑥ 1/2にする 1/2にする
なぜ誕生日が分かるのか(目標:12月27日) 紙を使って「二分探索」では何が起きているか知ってみよう ⑦ ⑧ 1/2にする 1/2にする
なぜ誕生日が分かるのか(目標:12月27日) 紙を使って「二分探索」では何が起きているか知ってみよう ⑨ ⑩ 1/2にする
二分探索法はlog(2)N回で求められる: 目標)366日から「12月27日」を求めるための比較回数 log(2)366 = 8.515… = 最大9回 なぜ二分探索法で誕生日を発見できた?: ・カレンダーは順番に月日が並んでいるから なぜ誕生日が分かるのか(目標:12月27日)
本日のまとめ
本日のまとめ 〇アルゴリズムの基本概念とは? ・順次処理 ・分岐処理 ・繰り返し 〇アルゴリズムとは? ・アルゴリズムは「処理の手順」 〇多くのデータからデータを探すアルゴリズムとは? ①順次探索法(線形探索法) ②二分探索法
〇2つの探索法のそれぞれのメリット/デメリットとは? ①処理の手順が簡単/データの数が増えると時間がかかる ②log(2)N回で見つかる/データを順番にする必要がある