矢沢久雄セレクション アルゴリズム&デザインパターン
矢沢久雄セレクション アルゴリズム&デザインパターン(日経BP Next ICT選書)
日経BP
著者:矢沢久雄
編集:日経ソフトウェア
≪Chapter1≫つかめ!プログラマの思考法
◆すべてのプログラムは入力,演算,出力で動いている
◆上手な「コメント」は,
プログラムをフローチャートのように見せる
◆アルゴリズムは,
プロ野球中継のように実況するとわかりやすい
◆「再帰」には,プログラマを夢中にさせる魅力がある
◆「自己参照構造体」にC言語の美しきゴールを見た
◆オブジェクト指向は便利な考え方の一つ
≪Chapter2≫アルゴリズム&テクニック
◆意外と知られていない「バケツソート」
◆プログラムの実行速度を向上させる「キャッシュ」
◆探索や整列を効率化する「番兵」を活用しよう
◆あれこれと工夫できる「べき乗」の計算
◆じゃんけんの勝敗を判定する方法を工夫しよう
◆状態の変化を考えて2種類の電卓プログラムを作る
◆基本的なアルゴリズムに工夫を加える
◆基本的なソートアルゴリズムを組み合わせて
◆効率的な処理を実現する
◆効率よく「1」の個数を数える
◆もっと簡単な解法を考えよう
≪Chapter3≫必修アルゴリズム21
◆最短経路を求めるダイクストラ法
◆ナップサック問題
◆ガウスの消去法
◆逆ポーランド記法
◆クイックソート
◆エイトクイーン
◆ボイヤームーア法
◆状態遷移図を使った構文解析
◆グリーディ法
◆ヒープとヒープソート
◆バブルソートをコムソートに改良する
◆素数の判定とエラトステネスのふるい
◆マージソート(分割統治法と再帰呼び出し)
◆シンプレックス法(解説編)
◆シンプレックス法(プログラミング編)
◆最小二乗法で理論式にフィッティング
◆迷路から脱出するアルゴリズム
◆乱数を生成するアルゴリズム
◆素因数分解とRSA暗号
◆パリティ・ビットとハミング符号
◆再帰と動的計画法
≪Chapter4≫達人からの挑戦状
◆このプログラムがクラッシュする理由を説明できますか
◆このアルゴリズムには、きっと感動しますよ
◆プロとしてより良い改造方法はどれか
◆自分自身のソースコードを表示するプログラムを作成せよ
◆このプログラムをできるだけ短くせよ
◆再帰呼び出しでnの階乗を求める関数を4種類書け
◆英語として読めるプログラムを作成せよ
◆if文を使わずに分岐処理を作成せよ
◆一様乱数を使って正規乱数を作り出せ
◆フィールドのアクセサを用意するメリットを述べよ
◆うるう年を判定するメソッドのテストコードを記述せよ
◆ポインタを使ったコードの誤りを見つけよ
≪Chapter5≫早わかりGoF デザインパターン
◆GoFって何?/Mediatorパターン
◆Iteratorパターン/Adapterパターン
◆Factory Methodパターン/
◆Abstract Factoryパターン
◆Facadeパターン/Chain of Responsibilityパターン
◆Builderパターン/Prototypeパターン
◆Stateパターン/Observerパターン
◆Singletonパターン/Flyweightパターン
◆Bridgeパターン/Decoratorパターン
◆Compositeパターン/Proxyパターン
◆Commandパターン/Strategyパターン
◆Template Methodパターン/Visitorパターン
◆Interpreterパターン/Mementoパターン