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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
mabupro
December 21, 2023
Education
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アルゴリズム基本概念-順次探索と二分探索
大学で教職の授業を取っているので、初めて制作してみた授業のパワポです。
mabupro
December 21, 2023
Other Decks in Education
See All in Education
人間関係に取り組む、その時に / step away to make space
spring_aki
0
140
私たちはなんでテストするんだっけ? Ver.東北IT物産展2026 in 会津若松
camel_404
3
220
Sanapilvet opetuksessa
matleenalaakso
1
36k
観察、仮説、実行、検証、計画、提案を一年で3000回トレーニングする方法/3000 Thinking Loops in 365 Days
moriyuya
5
1.5k
CSS3 and Responsive Web Design - Lecture 5 - Web Technologies (1019888BNR)
signer
PRO
1
3.5k
One Year of Learning English with AI @エンジニア英語キャリア Meetup #3
kekekenta
0
300
Sekolah Sabat - Triwulan 4 2026 - Pelajaran 1
hiola
0
13k
Fundamentos, Caracteristicas y Aplicaciones de los Modulos NumPy , Matplotlib y Pandas
robintux
0
300
Sekolah Sabat - Triwulan 4 2026 - Pelajaran 3
hiola
0
6.7k
中小規模私大の教学IRを支えるデータマネジメント ― データ基盤構築の取り組みと実務の現在地 ―
terazawa
0
230
TISSUE
pawan_pharm
0
280
[2026後期火5] 論理学(京都大学文学部 後期 第2回)「量化子の導入」
yatabe
0
180
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Automating Front-end Workflow
addyosmani
1369
210k
Fireside Chat
paigeccino
43
4.1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Optimizing for Happiness
mojombo
378
71k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
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回で見つかる/データを順番にする必要がある