本文へスキップします。

【参】モーダルJS:読み込み
書籍DB:詳細

Cによるアルゴリズムとデータ構造 改訂2版

Cによるアルゴリズムとデータ構造 改訂2版

  • 著者茨木 俊秀
  • 定価2,916円 (本体2,700円+税)
  • 判型A5
  • 258頁
  • ISBN978-4-274-22391-4
  • 発売日2019/05/31
  • 発行元オーム社

良いプログラムを書くための必須知識をまとめたテキストであり、五輪の書。

本書は、長年にわたって数多くの優秀なシステムエンジニア、プログラマーに愛読されてきた、良いプログラムを書くための必須知識をまとめたテキストです。
 うまくつくられたプログラムは、理解しやすく実行効率も高いものですが、一方、そうでないものは解読も困難なうえに、やたら時間や領域をくいます。さらに、そのようなまずいプログラムには、えてしてミスや内容的な誤りも隠されているものです。
 本書は、新たなアルゴリズムで新たなプログラミングを行うために覚えておかなくてはいけない必須知識、そしてアルゴリズムの設計、実現における基礎を、実用上の価値に重点を置いてまとめています。
 今回の改訂においては、多くの読者の声をよく参考にして、よりわかりやすく、簡明になるよう見直しを行ったほか、接尾辞木について新たな解説を加えています。
 システムエンジニア、プログラマーとして活躍される方の五輪書です。
第1章 アルゴリズムとその計算量
1.1 計算とアルゴリズム
1.2 アルゴリズムの例
1.3 計算量の評価
1.4 プログラムの設計をめぐる話題
演習問題

第2章 基本的なデータ構造
2.1 リストとその実現
2.2 スタック,待ち行列など
2.3 グラフ,木と2分木
2.4 集合と辞書
2.4.1 集合
2.4.2 辞書とハッシュ表
2.5 集合族の併合
演習問題

第3章 順序つき集合の処理
3.1 順序の定義と必要な作業
3.2 優先度つき待ち行列,ヒープ
3.3 2分探索木
3.4 平衡探索木
演習問題

第4章 整列のアルゴリズム
4.1 整列アルゴリズム概観
4.2 バブルソート
4.3 バケットソートと基数ソート
4.3.1 バケットソート
4.3.2 基数ソート
4.4 ヒープソート
4.5 クイックソート
4.6 整列アルゴリズムの計算量の下界
4.7 第p要素の選択
4.7.1 QUICKSELECTとSELECT
4.7.2 確率アルゴリズムLAZYSELECT
演習問題

第5章 アルゴリズムの設計
5.1 整列データの処理
5.1.1 整列配列の併合
5.1.2 2分探索
5.1.3 ニュートン法による零点の計算
5.2 分割統治法
5.2.1 マージソート
5.2.2 長大数の掛け算
5.2.3 再帰方程式の漸近解
5.3 動的計画法
5.3.1 SUBSET-SUM問題
5.3.2 直線上の配達スケジューリング
演習問題

第6章 アルゴリズムの実現
6.1 簡単な最適化問題
6.1.1 資源配分問題
6.1.2 ナップサック問題
6.2 グラフに関するいくつかの問題
6.2.1 最小木
6.2.2 最短路問題
6.2.3 深さ優先探索と関節点の計算
6.3 文字列の照合
6.4 計算幾何の話題から
6.4.1 初等幾何学の計算
6.4.2 ボロノイ図
6.5 関係データベースの処理
演習問題

付記:Cメモ
演習問題:ヒントと略解

ここでは、本書に掲載しているプログラムコードを圧縮ファイル(zip形式)にて提供しています(C-programs.zip;約93KB)。圧縮ファイルを解凍(フォルダ付き)してご利用ください。

  • このファイルは、本書をお買い求めになった方のみご利用いただけます。本書をよくお読みのうえ、ご利用ください。このファイルに含まれるプログラムコードの内容に係る著作権は、本書の執筆者である茨木俊秀氏に帰属します。
  • このファイルを利用したことによる直接あるいは間接的な損害に関して、著者およびオーム社はいっさいの責任を負いかねます。利用は利用者個人の責任において行ってください。

関連書籍