情報
Python言語によるプログラミングイントロダクション世界標準MIT教科書
MIT(マサチューセッツ工科大学)で常にトップクラスの人気を誇る講義内容をまとめた、計算科学の教科書をついに翻訳。今、注目のPython言語を通してプログラミングの手法一般を学ぶという、これまでの教科書にはない内容となっている。また、読者が身近な興味深い問題をどのようにプログラミングして解決してゆくのか、自分で考えさせるという構成となっている。
・プログラミングの基礎
・Python言語
・計算法を理解するために中心となる概念
・計算機を用いて問題解決を行うためのテクニック
電子書籍¥4,180 小売希望価格(税込)
紙の書籍¥4,180定価(税込)
基本情報
発売日 | 2014年12月29日 |
---|---|
本体価格 | 3,800円 |
サイズ | B5 |
ISBN | 9784764904699 |
ジャンル | 情報 |
タグ | プログラミング, Python |
電子書籍形式 | 固定型 |
主要目次
第 1 部 Python 言語と計算法イントロダクション
第 1 章 さあ,始めよう!
第 2 章 Python の概要
2.1 Python の基礎入門
2.1.1 オブジェクト,式,数値型
2.1.2 変数と代入
2.1.3 IDLE
2.2 分岐プログラム
2.3 文字列と入力
2.3.1 入力
2.4 繰返し
第 3 章 簡単な算術プログラム
3.1 総当り
3.2 for ループ
3.3 近似解と 2 分法
3.4 浮動小数点数型の利用に関する注意
3.5 ニュートン–ラフソン法
第 4 章 関数,スコープ,抽象化
4.1 関数とスコープ
4.1.1 関数の定義
4.1.2 キーワード 引数とデフォルト値
4.1.3 スコープ
4.2 仕様
4.3 再帰
4.3.1 フィボナッチ数
4.3.2 回文
4.4 広域変数
4.5 モジュール
4.6 ファイル
第 5 章 構造型,可変性と高階関数
5.1 タプル
5.1.1 順序型と多重代入
5.2 リストと可変性
5.2.1 クローンの作成
5.2.2 リスト内包
5.3 オブジェクトとしての関数
5.4 文字列, タプルとリスト
5.5 辞書
第 6 章 テストとデバッグ
6.1 テスト
6.1.1 ブラックボックス・テスト
6.1.2 グラスボックス・テスト
6.1.3 テストの管理
6.2 デバッグ
6.2.1 デバッグの学習
6.2.2 実験の設計
6.2.3 手強い状況では
6.2.4 そしてそのバグを見つけたら
第 7 章 例外とアサーション
7.1 例外の処理
7.2 フロー制御機構としての例外
7.3 アサーション
第 8 章 クラスとオブジェクト指向プログラミング
8.1 抽象データ型とクラス
8.1.1 抽象データ型を用いたプログラミング
8.1.2 学生と教員の情報管理のためのクラスの利用
8.2 継承
8.2.1 多重継承
8.2.2 置換原則
8.3 カプセル化と情報隠蔽
8.3.1 ジェネレータ
8.4 発展例:住宅ローン
第 2 部 問題解決のための計算法
第 9 章 計算複雑性入門
9.1 計算複雑性についての考察
9.2 漸近記法
9.3 いくつかの重要な計算複雑性のクラス
9.3.1 定数計算時間
9.3.2 対数計算時間
9.3.3 線形計算時間
9.3.4 対数線形計算時間
9.3.5 多項式計算時間
9.3.6 指数計算時間
9.3.7 計算複雑性のクラスの比較
第 10 章 いくつかの単純なアルゴリズムとデータ構造
10.1 探索アルゴリズム
10.1.1 線形探索および間接参照による要素へのアクセス
10.1.2 2 分探索および仮定の利用
10.2 ソーティングアルゴ リズム
10.2.1 マージソート
10.2.2 引数としての関数の利用
10.2.3 Python におけるソーティング
10.3 ハッシュ表
第 11 章 プロットとクラス
11.1 Pylab を用いたプロット
11.2 住宅ローン残高の図示
第 12 章 確率,統計とプログラム
12.1 確率を用いたプログラム
12.2 推計統計学とシミュレーション
12.3 分布
12.3.1 正規分布と信頼水準
12.3.2 一様分布
12.3.3 指数分布と幾何分布
12.3.4 ベンフォード 分布
12.4 良いチームはどれくらい勝つ?
12.5 ハッシュと衝突
第 13 章 ランダムウォークと可視化
13.1 酔歩
13.2 偏りのあるランダムウォーク
13.3 仕掛けを持つ場
第 14 章 モンテカルロ・シミュレーション
14.1 パスカルの問題
14.2 「パスライン」か「ドントパス」か
14.3 性能を上げるために参照表を使う
14.4 π を求める
14.5 シミュレーションモデルに関する結びのことば
第 15 章 実験データの理解
15.1 バネの振舞い
15.1.1 線形回帰による適合
15.2 発射体の振舞い
15.2.1 決定変数
15.2.2 計算モデルを使う
15.3 指数関数に従うデータに適合させる
15.4 理論が得られないとき
第 16 章 うそ,真っ赤なうそ,そして統計
16.1 ごみ入れごみ出し(ガイゴー)
16.2 図は人をだますもの
16.3 偽りの因果の誤り
16.4 統計的測定は,ストーリー全体を表すわけではない
16.5 サンプリングの偏り
16.6 文脈が重要である
16.7 外挿に注意せよ
16.8 テキサスの名射撃手の誤り
16.9 百分率は混乱をよぶ
16.10よく用心せよ
第 3 部 進んだ話題
第 17 章 ナップサック問題とグラフ最適化問題
17.1 ナップサック問題
17.1.1 貪欲アルゴ リズム
17.1.2 0/1 ナップサック問題の最適解
17.2 グラフ最適化問題
17.2.1 古典的なグラフ理論の問題
17.2.2 病気の拡散と最小カット
17.2.3 最短路:深さ優先探索と幅優先探索
第 18 章 動的計画法
18.1 フィボナッチ数列,再考
18.2 動的計画法と 0/1 ナップサック問題
18.3 動的計画法と分割統治
第 19 章 機械学習はやわかり
19.1 特徴ベクトル
19.2 距離
19.3 クラスタリング
19.4 標本タイプとクラスタタイプ
19.5 k-平均クラスタリング
19.6 不自然な例
19.7 より不自然さの少ない例
19.8 まとめ
付録:
Python 2.7 簡易マニュアル
索 引
第 1 章 さあ,始めよう!
第 2 章 Python の概要
2.1 Python の基礎入門
2.1.1 オブジェクト,式,数値型
2.1.2 変数と代入
2.1.3 IDLE
2.2 分岐プログラム
2.3 文字列と入力
2.3.1 入力
2.4 繰返し
第 3 章 簡単な算術プログラム
3.1 総当り
3.2 for ループ
3.3 近似解と 2 分法
3.4 浮動小数点数型の利用に関する注意
3.5 ニュートン–ラフソン法
第 4 章 関数,スコープ,抽象化
4.1 関数とスコープ
4.1.1 関数の定義
4.1.2 キーワード 引数とデフォルト値
4.1.3 スコープ
4.2 仕様
4.3 再帰
4.3.1 フィボナッチ数
4.3.2 回文
4.4 広域変数
4.5 モジュール
4.6 ファイル
第 5 章 構造型,可変性と高階関数
5.1 タプル
5.1.1 順序型と多重代入
5.2 リストと可変性
5.2.1 クローンの作成
5.2.2 リスト内包
5.3 オブジェクトとしての関数
5.4 文字列, タプルとリスト
5.5 辞書
第 6 章 テストとデバッグ
6.1 テスト
6.1.1 ブラックボックス・テスト
6.1.2 グラスボックス・テスト
6.1.3 テストの管理
6.2 デバッグ
6.2.1 デバッグの学習
6.2.2 実験の設計
6.2.3 手強い状況では
6.2.4 そしてそのバグを見つけたら
第 7 章 例外とアサーション
7.1 例外の処理
7.2 フロー制御機構としての例外
7.3 アサーション
第 8 章 クラスとオブジェクト指向プログラミング
8.1 抽象データ型とクラス
8.1.1 抽象データ型を用いたプログラミング
8.1.2 学生と教員の情報管理のためのクラスの利用
8.2 継承
8.2.1 多重継承
8.2.2 置換原則
8.3 カプセル化と情報隠蔽
8.3.1 ジェネレータ
8.4 発展例:住宅ローン
第 2 部 問題解決のための計算法
第 9 章 計算複雑性入門
9.1 計算複雑性についての考察
9.2 漸近記法
9.3 いくつかの重要な計算複雑性のクラス
9.3.1 定数計算時間
9.3.2 対数計算時間
9.3.3 線形計算時間
9.3.4 対数線形計算時間
9.3.5 多項式計算時間
9.3.6 指数計算時間
9.3.7 計算複雑性のクラスの比較
第 10 章 いくつかの単純なアルゴリズムとデータ構造
10.1 探索アルゴリズム
10.1.1 線形探索および間接参照による要素へのアクセス
10.1.2 2 分探索および仮定の利用
10.2 ソーティングアルゴ リズム
10.2.1 マージソート
10.2.2 引数としての関数の利用
10.2.3 Python におけるソーティング
10.3 ハッシュ表
第 11 章 プロットとクラス
11.1 Pylab を用いたプロット
11.2 住宅ローン残高の図示
第 12 章 確率,統計とプログラム
12.1 確率を用いたプログラム
12.2 推計統計学とシミュレーション
12.3 分布
12.3.1 正規分布と信頼水準
12.3.2 一様分布
12.3.3 指数分布と幾何分布
12.3.4 ベンフォード 分布
12.4 良いチームはどれくらい勝つ?
12.5 ハッシュと衝突
第 13 章 ランダムウォークと可視化
13.1 酔歩
13.2 偏りのあるランダムウォーク
13.3 仕掛けを持つ場
第 14 章 モンテカルロ・シミュレーション
14.1 パスカルの問題
14.2 「パスライン」か「ドントパス」か
14.3 性能を上げるために参照表を使う
14.4 π を求める
14.5 シミュレーションモデルに関する結びのことば
第 15 章 実験データの理解
15.1 バネの振舞い
15.1.1 線形回帰による適合
15.2 発射体の振舞い
15.2.1 決定変数
15.2.2 計算モデルを使う
15.3 指数関数に従うデータに適合させる
15.4 理論が得られないとき
第 16 章 うそ,真っ赤なうそ,そして統計
16.1 ごみ入れごみ出し(ガイゴー)
16.2 図は人をだますもの
16.3 偽りの因果の誤り
16.4 統計的測定は,ストーリー全体を表すわけではない
16.5 サンプリングの偏り
16.6 文脈が重要である
16.7 外挿に注意せよ
16.8 テキサスの名射撃手の誤り
16.9 百分率は混乱をよぶ
16.10よく用心せよ
第 3 部 進んだ話題
第 17 章 ナップサック問題とグラフ最適化問題
17.1 ナップサック問題
17.1.1 貪欲アルゴ リズム
17.1.2 0/1 ナップサック問題の最適解
17.2 グラフ最適化問題
17.2.1 古典的なグラフ理論の問題
17.2.2 病気の拡散と最小カット
17.2.3 最短路:深さ優先探索と幅優先探索
第 18 章 動的計画法
18.1 フィボナッチ数列,再考
18.2 動的計画法と 0/1 ナップサック問題
18.3 動的計画法と分割統治
第 19 章 機械学習はやわかり
19.1 特徴ベクトル
19.2 距離
19.3 クラスタリング
19.4 標本タイプとクラスタタイプ
19.5 k-平均クラスタリング
19.6 不自然な例
19.7 より不自然さの少ない例
19.8 まとめ
付録:
Python 2.7 簡易マニュアル
索 引