伝統的なアルゴリズムを知っておきたい事と、Pythonでアルゴリズムを実装を知りたかったため「Pythonではじめるアルゴリズム入門」を購入しました。
本書はPythonでアルゴリズムを学べるおすすめの本です。今回は本書のレビューをします。
内容
25のアルゴリズムを紹介しており、サンプルプログラムのソースコードがあります。
- FizzBuzz
- フィボナッチ数列
- 線形探索
- 二分探索
- 幅優先探索
- 深さ優先探索
- 番兵
- 8クイーン問題
- n-クイーン問題
- ハノイの塔
- ミニマックス法
- 選択ソート
- 挿入ソート
- バブルソート
- ヒープソート
- マージソート
- クイックソート
- 最短経路問題
- ベルマン・フォード法
- ダイクストラ法
- A*アルゴリズム
- 文字列探索の力任せ法
- Boyer-Moore法
- 逆ポーランド記法
- ユークリッドの互除法
Anaconda 2019.10、Python 3.7の環境を利用しています。
フローチャートやイラストが多くアルゴリズムの仕組みが分かりやすかったです。
pythonはライブラリが充実しているため、実業務でアルゴリズムを実装するシーンは滅多に無いと思います。
しかし、アルゴリズムを実装する過程で、ロジックの考え方や無駄のない変数、リスト、for文、if文の使い方が身についていきます。
よってアルゴリズムはpython の文法を学んだばかりの初心者にとっては最適な教材だと考えています。
“計算量”はアルゴリズムの性能を測る上で非常に重要です。
メモリには上限があるため大量のデータを操作す場合はヒープエラーが起こり得ます。そのリスクを調べるために計算量の求め方を知っておくと役立ちます。
まとめ
アルゴリズムの仕組みは順を追って行けば一般の人でも理解できると思います。あるアルゴリズムの計算量がO(n logn)でlogが出てきますがそれ以外は難しい数式はありません。
アルゴリズムの実装方法は実際のプログラミングでも使えるテクニックが多くあるため、”Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量”は初心者〜上級者までおすすめです。
コメントを残す