その本の「はじめに」には、著者の「伝えたいこと」がギュッと詰め込まれています。この連載では毎日、おすすめ本の「はじめに」と「目次」をご紹介します。今日は矢沢久雄さんの 『身近な疑問を解いて身につける 必修アルゴリズム』 です。

【はじめに】

 皆さん、こんにちは。著者の矢沢久雄です。
 私は、学生時代から趣味でプログラミングを始め、IT企業に就職してプログラマになりました。現在は、書籍や記事を書く仕事、プログラミングを指導する仕事をしています。

 かれこれ40年以上もプログラミングに関わってきたわけですが、今でもプログラミングが大好きです。なぜなら、プログラミングは、何年やっても決して飽きることがない、とても楽しいものだからです。そんなプログラミングの楽しさを、多くの皆さんに知っていただくために、本書を作りました。

 プログラミングには様々な魅力がありますが、本書では、2つの楽しみ方をお伝えしたいと思います。1つは「問題を解くためのアルゴリズムを知ること」です。そして、もう1つは「アルゴリズムを具現化するプログラムを作ること」です。どちらもゾクゾクするほど楽しいものです。

 アルゴリズムの解説では、皆さんに興味を持っていただけるように、日常生活の中にある問題を取り上げています。例えば、「自分の100歳の誕生日は何曜日か?」という疑問や、「東京駅から新宿駅までの最短経路は?」といった疑問から生まれる“身近な問題”です。

 このような“身近な問題”を解く手法として、本書で紹介するのは、有名なアルゴリズムばかりです。例えば、「動的計画法」「ダイクストラ法」「ベルマン=フォード法」「k-means法」「ボイヤーとムーアの過半数判定アルゴリズム」「ゲール=シャプレー・アルゴリズム」など、様々な問題に応用できるアルゴリズムです。これらは、アルゴリズムを学ぶ人にとって、知っておくべき“必修アルゴリズム”だといえるでしょう。

 プログラミング言語には、Pythonを使います。Pythonは、言語構文がわかりやすく、短く効率的にプログラムを記述できるので、とても人気があります。
 Pythonを学び始めたばかりの人でも本書の内容を理解できるように、本書の末尾にある補章では、1~9章で使われているPythonの構文、組み込み関数、標準モジュールなどを説明しています。必要に応じて参照してください。

 アルゴリズムを知り、プログラムを作って答えが求められると、最高にハッピーな気持ちになるでしょう。身近な問題を解くことを楽しみながら、必修アルゴリズムをマスターしてください。

2022年10月吉日
矢沢 久雄


【目次】

画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示