
全ての社会人に必要不可欠な問題解決力。
問題解決力を身につけるのには、プログラミングがふさわしいといわれています。
なかでもアルゴリズムという考え方が、問題解決力を向上させるのにベストです。
プログラミングをやる人だけに必要かと思われるかもしれませんが、
問題解決力を身につけるのにアルゴリズムを学ぶのは全ての社会人にとって有益なことといえます。
そこでアルゴリズムの考え方を、プログラミングの経験がない人にもわかりやすく解説した
「アルゴリズム入門」におすすめの本を6冊まとめて紹介しています。
良質なアルゴリズムにたくさん触れて、プログラミング力、問題解決力を向上させていきましょう。
このページはプログラミング入門の「アルゴリズム」コーナーです。
>>【総合ページ】プログラミング入門におすすめの書籍をジャンル別にチェック!
ページ目次
アルゴリズムとは
アルゴリズムとは?
・プログラミングに必須の考え方である
・プログラミング以外でも役に立つ
より単純に、よりわかりやすく、より効率的に。
そんな日ごろ仕事を行っていくうえでも役に立つ物事の考え方のことをアルゴリズムといいます。
「アルゴリズム」というのは、コンピューターで計算を行うときの「計算方法」のことなんですが、広く考えれば、何か物事を行うときの「やり方」のことだと言っていいでしょう。その「やり方」を工夫して、より良いやり方を見つけよう、というのが、アルゴリズムの研究です。同じ計算を行うんだったら、いい方法でやればより速く計算できますね、ということです。
コンピュータはわたしたちに比べ、はるかに頭が良く計算スピードも速いですが、
プログラミングを書くときに、分量が多くなればなるほど計算量も計算時間も増えてしまいます。
そのため、コードが増えると、コンピューターの動作が重たくなってしまいます。
よりわかりやすく、より短く、より効率良いコードを書くためにアルゴリズムの考え方は必読といえるでしょう。
アルゴリズムを学ぶためのおすすめ本
プログラミングの学習を加速させるのに役立つ、アルゴリズム。
わかりやすい解説がついたおすすめの本を紹介していきます。
おうちで学べるアルゴリズムのきほん
本書は、「身の回りの様々なテクノロジーはどんなアルゴリズムで
実現されているのか」を、自宅PCで確認しながら学習を進めていきます。「アルゴリズムの基本を学べること」だけでなく、
「アルゴリズムの開発&活用力(=問題解決力)を身に付けること」が
本書の目標です。スキルを高めたいプログラマーはもちろん、
アルゴリズムについての知識を得ておきたい各種技術者や
IT企業の営業マンなどに、ぜひ手に取ってもらいたい1冊です。
アルゴリズムってこういう本か~と理解するための本です。
優しすぎる内容かもしれないので、飛ばしてもいいかもしれません。
なっとく!アルゴリズム
プログラミングにおいて、アルゴリズムは欠かせません。
それは「Hello World」から昨今のAIやIoTに代表される機械学習や
ディープラーニングに至るまで変わりません。プログラミングとは、
裏を返せば、アルゴリズムをいかにして見通しよく実装するかにあるからです。
けれども、アルゴリズムの学習というと、七面倒臭い理屈の山と数式の谷間で
迷子になるのが、これまでの一般的な在り方でした。そこで本書は、イラストを多用し、デファクトと言われるアルゴリズムが
なぜデファクトなのか。けれども場合によってはデファクトたりえないのは
なぜなのか。その差を分ける基準は何なのかを平易に解説してくれます。アルゴリズムと聞くとアレルギー反応をおこす方でも、安心して
その奥深い世界の扉から漏れてくる、豊かさの一端に触れることが出来るはずです。
アルゴリズムに関する名著です。
手を動かすこともできるし、身近な例も取り上げられていて、わかりやすい。
アルゴリズム図鑑 絵で見てわかる26のアルゴリズム
アルゴリズムはどんな言語でプログラムを書くにしても不可欠ですが、
現場で教わることはめったになく、かといって自分で学ぶには難しいものです。本書は、アルゴリズムを独学する人のために作りました。
はじめて学ぶときにはイメージしやすく、
復習するときには思い出しやすくなるよう、
基本的な26のアルゴリズム+7つのデータ構造を
すべてイラストにしています。ソートやグラフなどの「動き」を図で追うことで、
考え方や仕組みを理解する手助けをします。
よいプログラムを書くために知っておかなきゃいけない
アルゴリズムの世界を、楽しく学びましょう。

この1冊だけで十分といえるかもしれません!
図解の多さでは本書が圧倒的に一番。
わかりやすさを追求した1冊です。
アルゴリズムを、はじめよう
本書は、アルゴリズムの中でもプログラマが最低限知っておかなくてはならないものだけをぎゅっと絞込み、
ひとつひとつをていねいに解説しているため、無理なく最後まで読み終えることができます。
また、簡単な例でイメージを確認してからフローチャートを少しずつ完成させていく手順で解説しているため、
確実に理解することができます。アルゴリズムをゼロから学びたい人に必携の1冊です!
ぼくが最初に読んだアルゴリズム本です。
とにかく上記3冊に負けず劣らずのわかりやすさで、
ユークリッドの互除法の解説などは非常に役に立ちました。
どれを選んでも失敗はないと思いますので、
文章が自分にとって読みやすいものを選ぶといいでしょう。
応用編
アルゴリズムについて知識が深まったところで、更なるアルゴリズムの世界に触れてみましょう。
実際にパズルを解いて問題解決力を養ったり、
世界のインフラ的な技術に使われているアルゴリズムの解説本を取り上げます。
プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問
急速な技術の進歩、システム開発競争の激化……。プログラマを取り巻く環境はやさしいものではありません。でも、思い出してみてください。自分の書いたソースコードでプログラムが動くのを初めて見たとき。思い描いた通りのプログラムができたとき。プログラミングの楽しさを感じたことでしょう。何もないところからソースコードだけで新たな価値を生むプログラマは、非常に魅力的な職業です。
本書で登場する数学パズルは、そのようなワクワクにあふれています。「両替したときの硬貨の組み合わせはいくつ?」のような問題から、「国名でしりとりしたときに、一番長く続く順番は?」「運命の出会いは何通り?」というものまで、70の問題を解くコードを、3人のキャラクターたちと一緒に考えていきます。
パズルを解くうちにアルゴリズムが身につき、シンプルで高速なコードが書けるようになります。楽しみながらスキルアップもできて一石二鳥。さっそく挑戦してみましょう!
解説はあまり詳しく書いてあるとはいえませんが、
たくさんの問題に触れることができるという点が何よりも良いポイント。
この1冊を通じて問題にチャレンジすることで、アルゴリズムを考えるいいきっかけになります。
世界でもっとも強力な9のアルゴリズム
コンピュータを使い物にするアルゴリズムにはどういうものがあるか、今日的な視点から選んだ実際に役立っている9のアルゴリズムのアイデアを、章ごとに掲げてわかりやすく説明した読み物です。
扱っている9のアルゴリズムのテーマは、検索エンジンのインデクシング、ページランク、公開鍵暗号、誤り訂正符号、パターン認識、データ圧縮、データベース、デジタル署名、計算不能性。

アルゴリズムの世界を文系読者にもわかりやすく解説してくれています。
技術的なバックグラウンドがなくても大丈夫。
現代社会で実用化されているアルゴリズムの仕組みを理解することができます。
へ~なるほど~!となることでしょう。
おわりに
今回はアルゴリズムについて詳しく解説してある本について紹介しました。
特に文系の方には馴染みのないテーマだと思いますが、
働き方改革が叫ばれている中で、アルゴリズムの考え方は
仕事を短時間で終わらせることにも役立ちます。
今後注目される分野といえそうです。
初心者の方は図解が多い本を選んでみると良いでしょう。
とにかく問題をたくさん解いてみるのもおすすめです。
>>【総合ページ】プログラミング入門におすすめの書籍をジャンル別にチェック!