■
プログラミング言語C++ (アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming series)
- 作者: Bjarne Stroustrup,長尾高弘
- 出版社/メーカー: アジソンウェスレイパブリッシャーズジャパン
- 発売日: 1998/12
- メディア: 単行本
- 購入: 9人 クリック: 272回
- この商品を含むブログ (68件) を見る
第18章 アルゴリズムと関数オブジェクト
形式は解放である。 技術者の諺
この引用は、最近のこの本の中でも秀逸だと思います。
マニュアル主義というものが、よくたたかれる昨今のなか、
形式や、仕様といったものが、ないと、集団的な組織行動において、とんでもないコストが発生するという
経験則が、見事に言葉になっていると思います。
私の研究は、「アルゴリズム」と「組合せ最適化」です。ここでは、そのうちのアルゴリズムについて解説しましょう。
「アルゴリズム」というのは、コンピューターで計算を行うときの「計算方法」のことなんですが、広く考えれば、何か物事を行うときの「やり方」のことだと言っていいでしょう。その「やり方」を工夫して、より良いやり方を見つけよう、というのが、アルゴリズムの研究です。同じ計算を行うんだったら、いい方法でやればより速く計算できますね、ということです。
コンピュータにやらせる仕事のメインが計算をさせることなのだとしたら、
こういう項目が、第18章にくるというものが、はたして、ほめられたものなのだろうかと、ふと疑問に感じます。
ほかの入門書だと、ここで出てくるアルゴリズムで、具体的なプログラムを記述して、例解をしていくという
アプローチなのですが。
代表的なアルゴリズムが、羅列されているだけで、とくに、小難しいことにぶち当たって、なきそうになることはないのではないかと思います。
18−1 イントロダクション
18−2 標準ライブラリアルゴリズムの概要
18−3 シーケンスとコンテナ
18−3−1 入力シーケンス
18−4 関数オブジェクト
18−4−1 関数オブジェクトの基底クラス
18−4−2 叙述関数
18−4−3 算術関数オブジェクト
18−4−4 バインダ、アダプタ、ネゲータ
18−5 変更なしのシーケンスアルゴリズム
18−5−1 for_each
18−5−2 findファミリ
18−5−3 count
18−5−4 equal と mismatch
18−5−5 search
18-6 シーケンス変更アルゴリズム
18−6−1 コピー
18−6−2 transform
18−6−3 unique
18−6−4 replace
18−6−5 remove
18−6−6 fillとgenerate
18−6−7 reverseとrotate
18−6−8 swap
18-7 シーケンスのソート
18-7−1 ソート
18-7−2 二分探索
18-7−3 merge
18-7−4 partition
18-7−5 シーケンスに対する集合演算
18−8 ヒープ
18−9 minとmax
18-10 順列
18−11 Cスタイルアルゴリズム
18−12 アドバイス
18−13 練習問題