よろずやIT
プログラミング

アルゴリズムとは?レシピに例えてやさしく解説

執筆・監修:よろずやIT編集部|編集方針を見る

結論:まずここだけ読めばOK

詳しい手順・原因は、この下で解説しています。

プログラミングのイラスト

結論: アルゴリズムとは、問題を解決するための決められた手順のことです。料理のレシピのように、同じ結果でも手順によって効率が変わります。

アルゴリズムとは「物事を解決するための手順」

アルゴリズムとは、ある問題を解決するための、決められた一連の手順のことです。プログラミング特有の難しい概念のように思われがちですが、実は「目的を達成するための手順」全般を指す、非常に広い概念です。

料理のレシピに例えると

アルゴリズムを理解する上で、料理のレシピは非常にわかりやすい例えです。カレーライスを作るレシピには、「玉ねぎを切る」「肉を炒める」「水を加えて煮込む」というように、決められた順序の手順が書かれています。この「決められた手順に沿って進めれば、誰が作っても同じような結果(カレーライス)にたどり着ける」という考え方こそが、アルゴリズムの本質です。

プログラミングにおけるアルゴリズムの例

プログラミングの世界でよく登場するアルゴリズムには、以下のようなものがあります。

これらは、同じ目的を達成するのでも、複数のやり方(手順)が存在し、それぞれ処理の速さや効率に違いがあります。

探索アルゴリズムを具体例で見てみる

例えば「1から100までの数字の中から、特定の1つの数字を探す」場合を考えてみましょう。

同じ「探す」という目的でも、手順(アルゴリズム)の選び方によって、これほど効率に差が出ることがあります。

先頭から順に探す方法と、半分に絞る方法の確認回数を比べた図解

「計算量」という考え方

アルゴリズムの効率を比較する際、専門的には「計算量」という指標がよく使われます。これは、扱うデータの量が増えた時に、処理にかかる時間がどれくらい増えていくかを表す考え方です。データが少ないうちは差を感じにくくても、データの量が数百万件、数億件と増えていくと、選んだアルゴリズム次第で、処理時間に数十倍、数百倍もの差が生まれることがあります。

なぜアルゴリズムを学ぶことが重要なのか

同じ「目的」を達成するプログラムでも、選ぶアルゴリズム次第で、処理にかかる時間が大きく変わることがあります。少量のデータであれば違いはわずかでも、扱うデータの量が膨大になるほど、その差は無視できないほど大きくなっていきます。効率の良いアルゴリズムを選べる・作れるようになることは、プログラマーにとって重要なスキルの1つとされています。

日常生活の中のアルゴリズム

実はアルゴリズムという考え方は、プログラミングに限った話ではありません。「洗濯物を干す手順」「通勤時にどの駅で乗り換えるかを決める手順」なども、広い意味では立派なアルゴリズムの一種です。

運営者自身も学習中に同じ疑問を持ったことがあり、その経験も踏まえてまとめています。

結局のところ

アルゴリズムは「目的を達成するための、再現性のある手順」という考え方です。難しく感じたら、まずは身近な「手順」に例えて考えてみると理解が進みます。同じ目的でも手順次第で効率が大きく変わる、という感覚を掴んでおくと、学習が進めやすくなります。

PR【中古】 図解でわかるアルゴリズム入門 / 瀬戸村 勝利 / 日本実業出版社 [単行本]【メール便送料無料】【最短翌日配達対応】

【中古】 図解でわかるアルゴリズム入門 / 瀬戸村 勝利 / 日本実業出版社 [単行本]【メール便送料無料】【最短翌日配達対応】

¥451

楽天で見る
SHAREXLINEはてブ

よくある質問

Q.アルゴリズムとプログラミング言語は同じものですか?

A.違います。アルゴリズムは『解決するための手順・考え方』であり、プログラミング言語は『その手順を、コンピューターに伝えるための書き方』です。同じアルゴリズムでも、PythonやJavaScriptなど、異なる言語で実現することができます。

関連記事

最新のIT関連書籍 トップ10

PR / 楽天市場の売れ筋ランキングを定期的に取得しています。価格は変動する場合があるため、購入前に各ストアでご確認ください。