アルゴリズム・サイエンス:入口からの超入門 (アルゴリズム・サイエンスシリーズ―超入門編)
大学の先生が書いた、大学の教科書を意識したアルゴリズム入門本。
電卓とコンピュータとの比較から始まって、(括弧)って凄いよねとか、条件分岐とか再帰処理とかの後、計算幾何学って面白いよって所まで。
大学の教科書だからだろうけど、この分野を知らない人がいきなり読んでもわかんないと思う。先生と問題を解きながら読むか、章のタイトルくらいは言葉として知っている人向け。
でも、そういう人向けにはとても良くまとまっている本だ。
ちょっと脱線しつつも、長過ぎない説明がいい。また各章の最後の「著者の独白」部分は章や取り上げた例題の狙いが述べられていて楽しい。章の後半は難しい所もあるが、この独白を読みたいがためにもうひとがんばり、と読んだりもしてしまう。この人の授業はきっと面白いんだろうなと思う。
ActionScriptを書く上で、知らなくてもほとんど困らない。知っていて急に力がつくわけでもない。でも恐らく、別な言語を理解する時(ASの作法さえ知っていれば良いわけではない時)にコンピュータのプログラムにおいてその前提となる考え方を理解しているか否かは重要になるはずだ。
【目次】
出版社のサイトから転載&ページ数を追記
http://www.kyoritsu-pub.co.jp/series/algo.html
1.アルゴリズム・サイエンス:入口からの超入門
(ISBN4-320-12167-8)
浅野哲夫 著
A5,244頁,2400円●内容
アルゴリズム研究の楽しさを知ってもらうために,高校生の学力程度で十分に理解できるよう心がけて記述した.各章の終わりに,本当に著者が伝えたかったことを「著者の独白」としてまとめたり,文章の途中に「質問」を挿入したりして,読者に飽きさせない工夫を随所にほどこした.●目次
1. 数式における括弧の威力…1
1.1 電卓とコンピュータの能力比較…1
1.2 計算に必要なメモリの個数…8
1.3 コンピュータが苦手なこと…10
1.4 括弧つきの計算…13
1.5 逆ポーランド記法に基づく数式の計算…19
1.6 著者の独白…22
章末問題…22
2. 変数の威力…24
2.1 変数による一般化…24
2.2 プログラムにおける変数…25
2.3 電卓の裏技との関係…29
2.4 著者の独白…30
章末問題…31
3. プログラムの威力…32
3.1 プログラム内蔵方式…32
3.2 分岐命令…34
3.3 関数の威力…36
3.4 著者の独白…39
章末問題…40
4. コンパイラの威力…42
4.1 コンピュータのしくみ…42
4.2 数値の取り扱い…44
4.3 演算装置の構成…50
4.4 コンパイラ…54
4.5 著者の独白…57
章末問題…58
5. ループの威力…59
5.1 不定回数の反復…59
5.2 数学的帰納法…64
5.3 ループと再帰…66
5.4 最大公約数の計算…71
5.5 著者の独白…75
章末問題…76
6. 配列の威力…77
6.1 変数と配列…77
6.2 配列の威力…79
6.3 データの並べ替え…85
6.4 2次元配列…90
6.5 著者の独白…94
章末問題…95
7. データ構造の威力…96
7.1 配列の威力…96
7.2 ハッシュ法…106
7.3 著者の独白…111
章末問題…112
8. 分岐命令の威力…113
8.1 直線型プログラム…113
8.2 分岐の除去(1)…115
8.3 分岐の除去(2)…118
8.4 著者の独白…122
章末問題…123
9. 再帰の威力…125
9.1 再帰的な定義…125
9.2 再帰に適した問題…127
9.3 再帰と漸化式…132
9.4 ファレイ数列…134
9.5 再帰呼出しの危険性…144
9.6 著者の独白…148
章末問題…148
10.2分探索の威力…150
10.1 探索問題…150
10.2 なぜ2分探索か…160
10.3 著者の独白…164
章末問題…166
11.乱数の威力…167
11.1 乱数を用いたアルゴリズム…167
11.2 乱数の生成…171
11.3 行列積の検算…172
11.4 著者の独白…177
章末問題…180
12.計算幾何学の威力…181
12.1 計算幾何学における典型的な問題解決…181
12.2 点集合の分割問題のむずかしさ…188
12.3 点と直線の関係…191
12.4 点集合の重みつき2分割問題…195
12.5 著者の独白…200
章末問題…201
参考文献…203
章末問題の解答…212
索引…227