プログラムをより効率的に書くうえで、アルゴリズムは欠かせません。CodeZineを運営する翔泳社では、まずは基本的なアルゴリズムを知りたいという方のために、『Pythonではじめるアルゴリズム入門』を1月24日(金)に発売しました。探索やソートなど、伝統的なアルゴリズムの考え方や定石について解説しています。
『Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量』は、プログラミング初心者でも扱いやすいPythonを用いてアルゴリズムの考え方や定石を学べる入門書です。
本書では探索やソートなど基本的なアルゴリズムの仕組みをテキストで学ぶだけでなく、実際にPythonのコードを書いてどのように動作するのかを確かめることができます。また、アルゴリズムの計算量についても詳しく説明するので、なぜプログラミングにおいて計算コストを考慮する必要があるのかを掴めます。
他の言語には慣れていてもPythonは経験がないという方は、Pythonの基本とデータ構造について解説した第1章をご覧ください。付録ではPythonのインストール方法についても紹介しています。
アルゴリズムは効率的なプログラムを作るうえで不可欠な要素。本書はその基本や考え方を押さえておきたいときに、まず読んでいただきたい1冊です。
目次
第1章 Pythonの基本とデータ構造を知る
1.1 プログラミング言語の選択
1.2 プログラミング言語Pythonの概要
1.3 四則演算と優先順位
1.4 変数と代入、リスト、タプル
1.5 文字と文字列
1.6 条件分岐と繰り返し、フローチャート
1.7 リスト内包表記
1.8 関数とクラス
第2章 基本的なプログラムを作ってみる
2.1 フローチャートを描く
2.2 FizzBuzzを実装する
2.3 自動販売機でお釣りを計算する
2.4 基数を変換する
2.5 素数を判定する
2.6 フィボナッチ数列を作る
第3章 計算量について学ぶ
3.1 計算コストと実行時間、時間計算量
3.2 データ構造による計算量の違い
3.3 アルゴリズムの計算量と問題の計算量
第4章 いろいろな探索方法を学ぶ
4.1 線形探索
4.2 二分探索
4.3 木構造での探索
4.4 さまざまな例を実装する
第5章 データの並べ替えにかかる時間を比べる
5.1 身近な場面でも使われる「並べ替え」とは?
5.2 選択ソート
5.3 挿入ソート
5.4 バブルソート
5.5 ヒープソート
5.6 マージソート
5.7 クイックソート
5.8 処理速度を比較する
第6章 実務に役立つアルゴリズムを知る
6.1 最短経路問題とは?
6.2 ベルマン・フォード法
6.3 ダイクストラ法
6.4 A*アルゴリズム
6.5 文字列探索の力任せ法
6.6 Boyer-Moore法
6.7 逆ポーランド記法
6.8 ユークリッドの互除法
Appendix Pythonのインストール
この記事は参考になりましたか?
- この記事の著者
-
渡部 拓也(ワタナベ タクヤ)
翔泳社マーケティング課。MarkeZine、CodeZine、EnterpriseZine、Biz/Zine、ほかにて翔泳社の本の紹介記事や著者インタビュー、たまにそれ以外も執筆しています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です