新・標準プログラマーズライブラリ
新・標準プログラマーズライブラリ
Pythonで学ぶアルゴリズムとデータ構造 徹底理解
Pythonで学ぶアルゴリズムとデータ構造 徹底理解
- 黒住敬之 著
- 定価
- 2,992円(本体2,720円+税10%)
- 発売日
- 2024.3.11
- 判型
- B5変形
- 頁数
- 344ページ
- ISBN
- 978-4-297-14057-1 978-4-297-14058-8
概要
Pythonには標準でlist型やdict型などのデータ型、ソートや探索の便利なアルゴリズムが実装されており、ライブラリも充実しています。基本文法とライブラリの使い方を学習するだけで、ある程度プログラムを作成できるようになります。ところが複雑な問題に直面したとき、初歩的な知識だけでは立ちどころに行き詰ります。問題をずばり解決する機能やライブラリがあるとは限りません。さまざまな実装方法、機能、ライブラリから、最適なものを選び、組み合わせる必要が出てくるかもしれません。こういったとき、プログラム構造の理解が必要で、なかでもアルゴリズムとデータ構造が重要な要素になります。本書はこのふたつを徹底的にかみ砕いて解説し、ときに開発現場で使用されるテクニックや考え方も盛り込むことで、読者を深い理解へと導きます。
こんな方にオススメ
- Pythonでアルゴリズムとデータ構造を学習したいひと
- スキルアップしたいPython初級プログラマー
- 情報処理技術者試験のアルゴリズム問題の足がかりを得たいひと
目次
第1章 アルゴリズムの基礎
- 1-1 アルゴリズムとデータ構造
- 1-2 基本的な処理フロー
- 1-3 アルゴリズムと実装の基礎
第2章 アルゴリズムの評価
- 2-1 計算量
- 2-2 時間計算量
- 2-3 空間計算量
第3章 配列と連結リスト
- 3-1 配列と連結リスト
- 3-2 単連結リスト
- 3-3 連結リストと配列の比較
第4章 スタックとキュー
- 4-1 スタック
- 4-2 スタックの実装
- 4-3 スタックの活用例
- 4-4 キュー
- 4-5 キューの実装
- 4-6 キューの活用例
第5章 ソート
- 5-1 ソート
- 5-2 ソートの性質
- 5-3 実装のポイント
- 5-4 挿入ソート
- 5-5 選択ソート
- 5-6 バブルソート
- 5-7 シェルソート
- 5-8 マージソート
- 5-9 クイックソート
第6章 探索
- 6-1 線形探索
- 6-2 二分探索
第7章 連想配列
- 7-1 連想配列
- 7-2 オープンアドレス法
- 7-3 チェイン法
第8章 文字列検索
- 8-1 文字列の一致
- 8-2 力任せ法
- 8-3 ボイヤー-ムーア法
第9章 木構造
- 9-1 木構造
- 9-2 二分探索木
- 9-3 二分探索木の実装
- 9-4 二分探索木の特徴
- 9-5 データ列による二分木の表現
- 9-6 ヒープ木
- 9-7 ヒープソート
第10章 グラフ
- 10-1 グラフ
- 10-2 隣接行列
- 10-3 ダイクストラ法
第11章 さまざまなアルゴリズム
- 11-1 基数変換
- 11-2 データの圧縮
- 11-3 ハフマン符号化
- 11-4 構文解析
- 11-5 乱数
- 11-6 動的計画法
付録
- A-1 文法に関する補足
- A-2 処理時間の計測
- A-3 メモリ使用量の計測
- A-4 参考文献
プロフィール
黒住敬之
信州大学大学院工学系研究科修士課程修了(位相幾何学専攻)。大学院卒業後、都内のSIerに勤務、業務システムの開発を行う。現在はEC企業のシステム開発部門に所属、Pythonを使用したシステム開発業務に従事。また、個人でもシステム開発やデータ分析業務等を受託。アイティーアールディーラボ代表。