どうもイトサル(@itosaru)です。
小中高で始まったプログラミング授業の必修化。
聞いたことはあるけどよくわからない用語がたくさんあるのではないでしょうか。
例えば「アルゴリズム」という単語がその中の1つだと思います。

「アルゴリズムたいそう」で聞いたことがある人は多いかもしれませんね
「アルゴリズムって何?」という問いにひとことで回答すると
目的を達成するための手順をまとめたもの
です。
今回の記事では「アルゴリズムって何?」ということを身近なもので例えてわかりやすく解説します。
辞典に書かれたアルゴリズムの意味
まず最初に辞典で「アルゴリズム」の説明はどう書かれているのか見ていきましょう。
辞典に書かれた説明はこちらです。
アルゴリズムとは、ある特定の問題を解く手順を、単純な計算や操作の組み合わせとして明確に定義したもの。数学の解法や計算手順なども含まれるが、ITの分野ではコンピュータにプログラムの形で与えて実行させることができるよう定式化された、処理手順の集合のことを指すことが多い。
IT用語辞典 e-wordsより引用(該当リンク)
ポイントとしては「手順」という単語が何度も出てきていますね。
なのでアルゴリズムとは「手順」にかかわるもののようです。
どの分野でも共通しているのは問題を解くための手段ということ
辞典に書かれている通り、アルゴリズムは数学、ITの分野で使われています。
ITの分野では「処理手順の集合のこと」と書かれていますが、IT分野における処理手順についても問題を解くためのものです。

問題を解く処理手順?どういう意味だろう…?
ではアルゴリズムを身近なもので例えてみましょう。
問題)家から東京ディズニーランドに行く方法を教えてください

いきなりですが問題です。
あなたの家から東京ディズニーランドに行く方法を教えてください。
この問題にはいくつかの回答があると思います。
問題の回答としては例えば
- 電車で行く
- 家の車で行く
- ディズニーランド行きのシャトルバスに乗っていく
家から近い人だと自転車や徒歩だけで行ける方もいらっしゃるかもしれませんね。

ディズニーランド近いのうらやましいです。
この手段はもう少し細かくしていくことができそうです。
手段の中にある最初から最後までの手順がアルゴリズム
上の回答をさらに細かくしていきましょう。
電車で行く
この回答を使って説明します。
まず家の近くの駅に向かうまでも手段がいくつかありますよね。
その手段は身近なもので
- 徒歩で向かう
- 自転車で向かう
- バスで向かう
があると思います。
その次にどの電車に乗って舞浜駅に向かうのかもいくつかパターンがあるかもしれませんね。
- 自宅近くの駅が京葉線なのでそのまま京葉線で向かう
- JRの東京駅を経由して京葉線で向かう
- りんかい線の新木場を経由して京葉線で向かう
このように手段の中にもさらに細かい手順があります。
この細かい手順をひとまとめにしたものがアルゴリズムというものです。
東京ディズニーランドに電車で向かうアルゴリズム
ここまで説明した内容を踏まえて東京ディズニーランドに向かうアルゴリズムの例を書いてみます。
- 家から徒歩で最寄り駅に向かう
- 最寄駅から山手線に乗って東京駅に向かう
- 東京駅で降りる
- 京葉線に乗る
- 舞浜駅で降りる
- 舞浜駅から徒歩で東京ディズニーランドに行く
電車で行くと一言で言っても実際にはこれだけの手順を踏んでいるのがわかると思います。
最初から最後までの手順を一つの手段としてまとめたものが「アルゴリズム」です。
なぜアルゴリズムが必要なの?
ここまでの説明でアルゴリズムとは何なのかがなんとなく分かったかと思います。
ではなぜITの分野でアルゴリズムが必要なのでしょうか。
その理由は大きく2つあると思います。
- コンピューターには手段だけ伝えても動けないから
- 最適で効率よくプログラムを書きたいから
それぞれ詳しく説明します。
コンピューターには手段だけ伝えても動けないから
コンピューターは素直でお願いしたことは完璧にこなしてくれます。
しかし残念ながらざっくりとしたお願いはコンピューターには伝わリません。
コンピューターには必ず具体的で詳細な内容を伝えなければ動かないのです。

このファイルを読み取って。
次に1行目から100行目のデータをコピーして。
最後にデスクトップにデータをファイル名「itosaru.text」で保存して。

了解です、処理します!
最適で効率よいものを選びたいから
先ほどの東京ディズニーランドまでの行き方の例に戻ります。
いくつかの行き方がありますが、それぞれ掛かる時間や費用が変わってくると思います。
例えば電車に乗れば10分で着けて料金は片道200円かかるとしましょう。
それなのにわざわざレンタカーを1日5000円で借りて30分かけていく人はいませんよね。

年パス持ってて軽くディズニー行ってそのあと違う場所に行く、
という予定であればそうする可能性もあるかもしれません。
ITの分野も同様です。
わざわざ複雑なプログラムを組むか、簡単でシンプルなプログラムを組むかであれば後者を取りますよね。
またプログラムがシンプルであれば自分以外の人が見た時、どんな処理をしているのかわかりやすいというメリットもあります。
まとめ:アルゴリズムとは手順のことです
今回はアルゴリズムとは何かを説明しました。
改めて辞典に書いてある「アルゴリズム」の意味を見てみましょう。
アルゴリズムとは、ある特定の問題を解く手順を、単純な計算や操作の組み合わせとして明確に定義したもの。数学の解法や計算手順なども含まれるが、ITの分野ではコンピュータにプログラムの形で与えて実行させることができるよう定式化された、処理手順の集合のことを指すことが多い。
IT用語辞典 e-wordsより引用(該当リンク)
最初に読んだ時よりも分かるようになったのではないでしょうか。
簡単にいうと
目的を達成するための手順をまとめたもの
です。
ぜひこのことを覚えておいてくださいね!
プログラミングスクールで効率よく勉強しましょう
プログラミングの勉強は独学でももちろん可能です。
しかし勉強していく中でつまずいたり、見慣れないエラー画面が出てくるもの。

私もよくわからないエラーが出て泣きそうになったことが何度もあります…。
効率よく短時間でプログラミングを学習したい方はプログラミングスクールで受講することをお勧めします。
プログラミングスクールの中でもおすすめなのは「Code Camp(コードキャンプ)」です。
Code Campのポイントは
- オンラインでのマンツーマンレッスン
- 講師の指名ができる(講師は現役エンジニアの方のみ)
- 1レッスン単価が5000円からと他社と比べて安い
他にも転職やキャリア支援を専任カウンセラーが行ってくれるなどサービスが充実しています。

・自分にはどのプログラミング言語が合ってるんだろう?
・どうやって学習を進めていけば良いんだろう?
など迷いや悩みがある方は無料カウンセリングが受けることができます。
少しでも興味がある方は無料なので一度相談してみてはいかがでしょうか。
コメント