珠玉のプログラミング

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造

他著者情報

小林健一郎:1983年東大理学部物理学科卒.静岡産業大学情報学部教授.専攻は素粒子論,情報科学.理学博士(物理学).「Visual Basicプログラミング入門」「プログラミング実習VC++入門編」「これならわかるC++」「これならわかるJava」「C++再考」「Effective C++第3版」

概要

目次・ポイント

序文
第Ⅰ部 はじめに
コラム1−−真珠貝を開いて
1.1 フレンドリーな会話
1.2 問題の正確な定義
1.3 プログラムデザイン
1.4 コードのスケッチ
1.5 原則
1.6 問題
1.7 読書案内

コラム2−−「ああ(そうか)!」アルゴリズム
2.1 3つの問題
2.2 至る所で2分探索
2.3 「基本操作の繰り返し・組み合わせ」で解く
2.4 まとめるためのソート
2.5 原則
2.6 問題
2.7 読書案内
2.8 アナグラムプログラムの実装

コラム3−−データで決まるプログラムの構造
3.1 調査プログラム
3.2 定型文プログラム
3.3 いろいろな配列の例
3.4 データの構造化
3.5 特定のデータに関する強力なツール
3.6 原則
3.7 問題
3.8 読書案内

コラム4−−正しいプログラムを書く
4.1 2分探索に挑戦
4.2 プログラムを書く
4.3 プログラムを理解する
4.4 原則
4.5 プログラム検証の役割
4.6 問題
4.7 読書案内

コラム5−−あと少しの事
5.1 擬似コードからCへ
5.2 テスト
5.3 表明の技法
5.4 テストの自動化
5.5 実行時間の計測
5.6 完全なプログラム
5.7 原則
5.8 問題
5.9 読書案内
5.10 デバッグ

第Ⅱ部 パフォーマンス
コラム6−−パフォーマンスに関する考察
6.1 あるケーススタディ
6.2 デザインレベル
6.3 原則
6.4 問題
6.5 読書案内

コラム7−−封筒の裏で…
7.1 基本的な素養
7.2 パフォーマンスの評価
7.3 安全係数
7.4 リトル(Little)の法則
7.5 原則
7.6 問題
7.7 読書案内
7.8 日常生活の速算

コラム8−−アルゴリズムデザインのテクニック
8.1 問題と単純なアルゴリズム
8.2 2乗のアルゴリズム
8.3 分割して征服するアルゴリズム
8.4 走査アルゴリズム
8.5 それがどういうことか
8.6 原則
8.7 問題
8.8 読書案内

コラム9−−コードチューニング
9.1 典型的な話
9.2 応急手当的なチューニング
9.3 大手術的なコードチューニング−−2分探索で
9.4 原則
9.5 問題
9.6 読書案内

コラム10−−メモリの節約
10.1 キーポイントは単純さ
10.2 典型的な例
10.3 データ空間でのテクニック
10.4 プログラムコードが使うメモリの節約
10.5 原則
10.6 問題
10.7 読書案内
10.8 大きな節約の例


第Ⅲ部 作品
コラム11−−ソート
11.1 挿入ソート
11.2 簡単なクイックソート
11.3 よりよいクイックソート
11.4 原則
11.5 問題
11.6 読書案内

コラム12−−サンプリング問題
12.1 問題
12.2 1つの解
12.3 デザイン空間
12.4 原則
12.5 問題
12.6 読書案内

コラム13−−探索
13.1 インターフェース
13.2 線形構造
13.3 2分探索木
13.4 整数のためのデータ構造
13.5 原則
13.6 問題
13.7 読書案内
13.8 実際の探索問題

コラム14−−ヒープ
14.1 データ構造
14.2 2つの重要な関数
14.3 順位キュー(プライオリティーキュー)
14.4 ソートアルゴリズム
14.5 原則
14.6 問題
14.7 読書案内

コラム15−−真珠の列
15.1 単語
15.2 フレーズ
15.3 テキストを生成する
15.4 原則
15.5 問題
15.6 読書案内

第1版のエピローグ
第2版のエピローグ

付録1−−アルゴリズムのカタログ
整列(ソート)
探索(サーチ)
他のセットのアルゴリズム
文字列に関するアルゴリズム
ベクトル(1次の配列)と行列(2次の配列)に関するアルゴリズム
ランダムなもの
数値アルゴリズム

付録2−−評価クイズ

付録3−−実行時間と使用メモリのコストモデル

付録4−−コードチューニングのルール
時間節約のためにメモリを使う
メモリ節約のために時間を使う
ループ
論理
プロシージャ(関数)のルール
表現

付録5−−探索のためのC++クラス


問題のヒント
問題回答
参考文献
索引
訳者あとがき


参考文献等