「アルゴリズム」
この言葉、聞いたことある?
たぶん、ある。
でも、「じゃあ説明して」と言われたら——
たいていの大人も、黙る。
アルゴリズムは「レシピ」
料理のレシピ、想像してみて。
- お湯を沸かす
- 麺を入れる
- 3分待つ
- 火を止める
- 食べる
これ、アルゴリズムそのものだ。
「ある目的を達成するための、順番に並んだ手順」——それがアルゴリズムの正体。
むずかしそうに見えて、やってることはラーメンの作り方と同じ。
なぜ今、アルゴリズムが大事なのか
ちょっと聞いてほしい。
今日、あなたが見たYouTube動画。なぜその動画があなたのトップに出てきたと思う?
Instagramのフィード。なぜその投稿が最初に並んでたの?
Amazonの「おすすめ商品」。なぜあなたが欲しそうなものばかり出てくる?
全部、アルゴリズムが選んでいる。
人間じゃない。
コードが、あなたの「次の行動」を予測して、自動で動いてる。
あなたの1日は、知らないうちにアルゴリズムに設計されている。
中学生でもわかる!3つの代表的なアルゴリズム
① 線形探索アルゴリズム(Linear Search)
「端から順番に探す」
クラスの出席番号リストで「田中さん」を探すとき、1番から順番に見ていく。あれが線形探索。シンプルだけど、リストが長いほど時間がかかる。
② バブルソートアルゴリズム(Bubble Sort)
「隣どうしを比べて、順番に並べる」
体育の時間に身長順に並ぶとき、「隣の人と背比べして、低い方が前に行って……」を繰り返すイメージ。
泡(バブル)が水面に浮かぶように、大きい数字が端に移動していく。 だから「バブル」ソート。
③ 二分探索アルゴリズム(Binary Search)
「半分に切って探す」
辞書で「む」を調べるとき、最初から1ページずつ読まないよね?
真ん中を開いて「さ行だ、後ろを見よう」→また真ん中を開いて「な行だ、少し前を見よう」……
これが二分探索。 ①の線形探索より圧倒的に速い。
コンピューターはなぜアルゴリズムが必要なのか
ここ、大事。
コンピューターは「指示されたことしかできない」
「いい感じにやっといて」——これ、伝わらない。
「1と3を足して、結果が5より大きければAを表示、小さければBを表示」——これなら動く。
あいまいさゼロが、コンピューターの世界のルール。
だから、人間がアルゴリズム(手順)を考えて、コンピューターに渡してあげる必要がある。
プログラミングって、つまりそういうこと。
実は、あなたも毎日アルゴリズムを使っている
朝起きてから学校に行くまでの流れ。
- 目覚ましが鳴る
- 起きる
- 歯を磨く
- 朝ごはんを食べる
- 制服に着替える
- 家を出る
これ、アルゴリズム。
「もし雨だったら傘を持つ」という条件分岐も入れれば、完璧なプログラムの構造になる。
あなたはすでに、毎日アルゴリズム的に動いている。
あとは、それをコンピューターに伝える言葉(プログラミング言語)を学ぶだけ。
まとめ|アルゴリズムは「思考の型」
アルゴリズムは、難しい数学でもなく、天才だけの話でもない。
「どうすれば、うまくいくか」を順番に考える力——それだけ。
そしてその力は、コンピューターだけじゃなく、人生のあらゆる問題に使える。
NOT