第2話:半分こハート 〜君と分かちあう、探しもの〜
テーマ:二分探索(Binary Search)
図書室、放課後。静かで、ちょっとだけドラマチック。
「はい、これが今日のミッション」
算法遥斗が出したのは、A4用紙1枚。
そこには、こう書かれていた。
【AI研究会チャレンジ #002】
図書室A列の文芸棚から、ある1冊の詩集を“最短手数”で見つけよ。
※本棚はタイトル順に整列済み。
「ヒントは?」
「タイトルは、“心臓より1ビート速い言葉”。探せ、詩的な鼓動を」
「また始まったよ……」
と紗和は言いつつ、なんだか楽しそうだった。探しものって、“当てっこ”のスパイスが加わるとゲームになる。
本棚の前。並ぶのは、約2000冊。
「アルゴ、作戦を」
「おすすめは、“二分探索”です。中央から始めて、範囲を半分ずつに削っていく方法です」
「まさかの“はんぶんこ”」
「はい。愛と同じで、正しく分けると距離が縮まります」
AIのくせに、たまに口説く。
1回目。中央の本を開く。
『時を溶かす声』
「さ行か……もうちょい前かな」
紗和は“さ行”の左半分に絞る。
2回目。左半分のさらに中央。
『鼓膜の向こう、沈む音』
「おっ、惜しい。心拍っぽい。でも、まだ違う」
さらに左側へ――
6回目。見つけたタイトルは、
『Heartbeat–0x1』
「それかーい! 数式入りかーい!」
こと葉が突っ込むためにわざわざ2列後ろから走ってきた。
遥斗がニヤニヤしながら登場。
「“0x1”は16進数で“1”の意味。心拍より+1――つまり、“ときめき”ってことさ」
「詩的すぎるだろ」
「二分探索って、どこに心があるかを“効率よく”見つける方法なんだよ。
でもさ、本当に“心”を探すなら、あんまり効率的すぎるのも寂しくない?」
「名言っぽいけど、結局私にこの本見せたかっただけでしょ」
「その通り。青春の動機なんて、大体ソート不能だからね」
AIアルゴ、淡々と総括。
二分探索とは?
昇順・降順など、整列されたデータに対して行う検索方法。
探すたびに検索範囲を半分に削る。だから log₂(n) 回で済む。
「2000冊でも、最大たった11回で見つかります。人間関係もこれくらいシンプルならいいんですが」
「人間は並んでないし、気持ちは検索不可能だもんね」
本を手にして、紗和がぽつり。
「でもさ。
“誰かの心”も、正しい順番で探してったら、いつか届くかな」
遥斗は、まっすぐには答えなかった。
けれど代わりに、言った。
「届いたら、それが答えだってわかるよ。探索、終了ってやつだ」
🧠 “今日のアルゴリズムまとめ”
二分探索(Binary Search)は、整列されたデータの探索に超有効。
最大手数は log₂(n)。2000冊の本でも、最大11回で見つかる。
ただし、データが整っていないと使えないのが欠点。
❓“考えてみよう”クイズ
本が8192冊なら、最大何回で見つけられる?
データが並んでいない(ランダム)とき、二分探索は使える? その場合の別の方法は?
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます