Pythonによるはじめてのアルゴリズム入門

[表紙]Pythonによるはじめてのアルゴリズム入門

紙版発売
電子版発売

A5判/480ページ

定価3,520円(本体3,200円+税10%)

ISBN 978-4-297-13887-5

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書は,Pythonを使用してアルゴリズムを習得するための入門書です。ソート,サーチ,再帰,リスト,木,グラフといったアルゴリズムの基本から,連立方程式の解法,逆ポーランド記法,最短路問題,タートルグラフィックス,グラフ描画,パズルやゲームといった実用的な応用まで,豊富な例題を通してアルゴリズムを効率的に学ぶことができます。例題や練習問題は「Google Colaboratory」で動作するので,Webブラウザーがあればすぐに動作が確認可能です。

著者がこれまで30年以上にわたって出してきた定番シリーズ「○○によるはじめてのアルゴリズム入門」の最新版となります。

こんな方におすすめ

  • すでにPythonについては知識があり,Pythonでアルゴリズムを勉強したい人

本書のサンプル

本書の一部ページを,PDFで確認することができます。

目次

第1章 ウォーミング・アップ

  • 1-0 アルゴリズムとは
  • 1-1 漸化式
  • 1-2 写像
  • 1-3 順位付け
  • 1-4 ランダムな順列
  • 1-5 モンテカルロ法
  • 1-6 ユークリッドの互除法
  • 1-7 エラトステネスのふるい

第2章 数値計算

  • 2-0 数値計算とは
  • 2-1 乱数
  • 2-2 数値積分
  • 2-3 テイラー展開
  • 2-4 非線形方程式の解法
  • 2-5 補間
  • 2-6 多桁計算
  • 2-7 長いπ
  • 2-8 連立方程式の解法
  • 2-9 線形計画法
  • 2-10 最小2乗法

第3章 ソートとサーチ

  • 3-0 ソートとサーチとは
  • 3-1 基本ソート
  • 3-2 シェル・ソート
  • 3-3 線形検索(リニアサーチ)と番兵
  • 3-4 2分探索(バイナリサーチ)
  • 3-5 マージ(併合)
  • 3-6 文字列の照合(パターンマッチング)
  • 3-7 文字列の置き換え(リプレイス)
  • 3-8 ハッシュ

第4章 再帰

  • 4-0 再帰とは
  • 4-1 再帰の簡単な例
  • 4-2 再帰解と非再帰解
  • 4-3 順列の生成
  • 4-4 ハノイの塔
  • 4-5 迷路
  • 4-6 クイック・ソート

第5章 データ構造

  • 5-0 データ構造とは
  • 5-1 スタック
  • 5-2 キュー
  • 5-3 データ構造としてのリスト
  • 5-4 Pythonの言語仕様のリスト
  • 5-5 双方向リスト
  • 5-6 逆ポーランド記法
  • 5-7 パージング
  • 5-8 自己再編成探索
  • 5-9 リストを用いたハッシュ

第6章 木(tree)

  • 6-0 木とは
  • 6-1 2分探索木のリスト表現
  • 6-2 2分探索木の作成
  • 6-3 2分探索木の再帰的表現
  • 6-4 2分探索木のトラバーサル
  • 6-5 レベルごとのトラバーサル
  • 6-6 ヒープ
  • 6-7 ヒープ・ソート
  • 6-8 式の木
  • 6-9 知的データベース

第7章 グラフ(graph)

  • 7-0 グラフとは
  • 7-1 グラフの探索(深さ優先探索)
  • 7-2 グラフの探索(幅優先探索)
  • 7-3 トポロジカル・ソート
  • 7-4 Eulerの一筆書き
  • 7-5 最短路問題

第8章 グラフィックス

  • 8-0 ColabTurtle(タートルグラフィックス・ライブラリ)
  • 8-1 forwardとleft
  • 8-2 2次元座標変換
  • 8-3 ジオメトリック・グラフィックス
  • 8-4 3次元座標変換
  • 8-5 立体モデル
  • 8-6 3次元関数と隠線処理
  • 8-7 リカーシブ・グラフィックスⅠ
  • 8-8 リカーシブ・グラフィックスⅡ
  • 8-9 いろいろなリカーシブ・グラフィックス
  • 8-10 グラフィックス・ライブラリ(glib.py)
  • 8-11 Matplotlibを使ったグラフの作成
  • 8-12 Matplotlibを使った3D表示

第9章 パズル・ゲーム

  • 9-1 魔方陣
  • 9-2 戦略を持つじゃんけん
  • 9-3 バックトラッキング
  • 9-4 ダイナミック・プログラミング
  • 9-5 万年暦で作るカレンダー
  • 9-6 21を言ったら負けゲーム
  • 9-7 迷路の作成と探索

著者プロフィール

河西朝雄(かさいあさお)

山梨大学工学部電子工学科卒(1974年)。長野県岡谷工業高等学校情報技術科教諭,長野県松本工業高等学校電子工業科教諭を経て,現在は「カサイ.ソフトウエアラボ」代表。

主な著書:「入門ソフトウエアシリーズC言語,MS-DOS,BASIC,構造化BASIC,アセンブリ言語,C++」「やさしいホームページの作り方シリーズHTML,JavaScript,HTML機能引きテクニック編,ホームページのすべてが分かる事典,iモード対応HTMLとCGI,iモード対応Javaで作るiアプリ」「チュートリアル式言語入門VisualBasic.NET」「はじめてのVisualC#.NET」「C言語用語辞典」ほか(以上ナツメ社)「構造化BASIC」「C言語によるはじめてのアルゴリズム入門」「Javaによるはじめてのアルゴリズム入門」「VisualBasicによるはじめてのアルゴリズム入門」「VisualBasic6.0入門編/中級テクニック編/上級編」「InternetLanguage改定新版シリーズホームページの作成,JavaScript入門」「NewLanguageシリーズ標準VisualC++プログラミング,標準Javaプログラミング」「VB.NET基礎学習Bible」「原理がわかるプログラムの法則」「プログラムの最初の壁」「河西メソッド:C言語プログラム学習の方程式」「基礎から学べるVisualBasic2005標準コースウエア」「基礎から学べるJavaScript標準コースウエア」「基礎から学べるC言語標準コースウエア」「なぞりがきC言語学習ドリル」など(以上技術評論社)