スクリーンショット_2020-01-15_7

2020年、「Pythonでアルゴリズムを学ぶ本」が出る理由

最近、書店のコンピュータ書コーナーにはプログラミング言語Pythonに関する本が多く並べられています。
ディープラーニングをはじめとして、AI(人工知能)が話題になっており、その実装言語としてPythonが多く使われているためです。

そんな中、2019年末から2020年にかけて、Pythonでアルゴリズムを学ぶ本が次々と登場しています。
私も新刊『Pythonではじめるアルゴリズム入門』を上梓しましたので、他の本と合わせて紹介します。

Pythonが注目されている理由

冒頭に書いたAI(人工知能)に関する話題だけでなく、2020年は他にもPythonが注目される理由があります。
その1つが「基本情報技術者試験」です。

2020年の春期試験から、基本情報技術者試験の午後試験において、プログラム言語の選択問題にPythonが追加されます。
これまでのCOBOLに替えて、Pythonが採用されることが大きな話題になりました。

Pythonのサンプル問題も公開されており、その内容にも注目が集まっています。

基本情報技術者試験にはアルゴリズムの問題もあることから、「Pythonでアルゴリズムを学ぶ」というのは2020年のトレンドであると感じています。

なぜ今アルゴリズムなのか

Pythonではソートや文字列検索などもライブラリが用意されており、実務でアルゴリズムを意識する場面は多くはありません。
それでもアルゴリズムが注目される理由を、新刊の「はじめに」から抜粋して紹介します。

実務の現場では、すでに用意されているライブラリなどを使うため、教科書に掲 載されているような基本的なアルゴリズムが直接使えることはほとんどありません。それでも基本的なアルゴリズムを学ぶ理由として、自分自身で実装することで、プ ログラミング言語に慣れるという意味もあります。
変数や配列、ループや条件分岐など、プログラミングの基礎となる要素が基本的 なアルゴリズムには詰まっています。これらとあわせてデータ構造を学ぶことで、 よりよい実装を学ぶことにつながります。
アルゴリズムはシンプルな問題でありながら、問題解決に必要なエッセンスが詰 まっているのです。実際の業務でそのまま使うことはほとんどありませんが、アル ゴリズムの考え方を知っているのと知らないのとでは、応用力が違います。
複数の実装を比べてみると、設計によって処理速度が大きく変わることを実感で きます。そして、アルゴリズムの選択が重要だということを認識します。データ量 が少ないうちは遅いアルゴリズムで問題なくても、データ量が増えたときに処理に 時間がかかると、その重要性に気づくのです。このときに必要な「計算量」の考え 方を理解する上でアルゴリズムの知識は必須です。

ここでも紹介しているように、「設計によって処理速度が変わる」ということを知っておかないと、実務で多くのデータを扱うプログラムを開発するときに、想定した時間内に処理が終わらない、ということが起きかねません。
「計算量」の考え方を知っておかないと、実装してみないと処理にかかる時間を想像できない、ということになりかねないのです。

Pythonのような便利な言語を使っていると、アルゴリズムに注目する場面はほとんどありません。しかし、多くの初心者がある程度Pythonでのプログラミングに慣れてくると、やはりアルゴリズムの重要性に気づきだすのです。

ライブラリを使うだけでなくアルゴリズムの基本的な考え方も知っておくと技術力に差が出てくる。そんなとき、他の言語でアルゴリズムを学ぶ方法もありますが、Pythonで書かれたアルゴリズム本を学ぶのは一石二鳥だと言えそうです。

Pythonでアルゴリズムを学ぶ本

上記のような背景があり、次々と「Python」「アルゴリズム」というキーワードが含まれる本が出版されました。
ここでは、2019年後半以降に発売された本を発売日順に紹介します。

ざっくりとレベル感としては、上記の上から順に、上級者向け→初心者向けに並んでいるように感じます。
(『Pythonではじめるアルゴリズム入門』が一番易しい)

まとめ

Pythonの入門書を読んだけれどもう少しステップアップしたい、基本情報技術者試験でも採用されて注目のPythonを試してみたい、という方はぜひ書店で上記の本を見比べてみてください。

この記事が気に入ったらサポートをしてみませんか?