データ構造の基礎


目次

はじめに
プログラムを読むにあたって

第1章 配列
 1・1 定義,性質および操作
 1・2 配列の特徴
 1・3 配列の使い方
 1・4 配列を使った問題表現例
  1 人と仕事の組み合わせの効率実現  2 グラフ表現  3 線形変換  4 確率推移
 第1章 演習

第2章 スタック
 2・1 スタックの定義,性質
 2・2 スタックの使われ方
  1 ポーランド記法  2 関数,サブルーチンの制御
 第2章 演習

第3章 キュー
 3・1 キューの定義,性質
 3・2 待ち行列について

第4章 リスト
 4・1 リストの定義,性質
 4・2 リストのプログラム的表現(Cによる)
 4・3 リストの発展的工夫事項
  1 circular list(サーキュラーリスト)  2 双方向リスト
 4・4 リストによる表現が適切な問題例
 第4章 演習

第5章 ツリー
 5・1 ツリーとは何か,およびその性質
  1 ツリーの3つの訪問の仕方  2 ツリーの表す内容例  3 基本操作(中間順序訪問)
 5・2 ツリーのプログラム的表現例(Cによる)
 5・3 ツリー処理の特徴,解析
  1 検索の効率  2 ツリーはデータの追加,削除が素早く行える  3 ツリーの茂り方
  4 節点Aの1つ前と1つ後の節点との関係
 5・4 ツリー表現が適切な問題例
  1 発生する単語の記録,回数カウント  2 毎日入退会の激しいある会の名簿の維持
 第5章 演習

第6章 ヒープ(整列2分木)
 6・1 整列2分木の定義および基本操作
  1 整列2分木の構築  2 整列2分木への追加と削除
 6・2 整列2分木の特徴
 6・3 関連事項:整列2分木を使ったソート法
 6・4 問題表現
 第6章 演習

第7章 Bツリー
 7・1 Bツリーの定義および基本動作
  1 Bツリー構造の内容  2 基本操作
 7・2 Bツリーの特徴
 第7章 演習

第8章 トライ

第9章 ハッシュ
 9・1 ハッシュ構造の定義および基本操作
  1 ハッシュ構造とは  2 衝突したデータの処理について  3 リニアプローブ法のデータの削除
 9・2 ハッシュ関数
 9・3 ハッシュ法の解析
  1 チェーン法のときのデータ追加の工数  2 リニアプローブ法のときのデータ追加工数
 第9章 演習

第10章 ランダムデータの扱い
 10・1 乱数について
 10・2 分布の表し方
  1 離散分布を発生させるには  2 連続分布の発生法  3 ノイマンの棄却法  4 正規分布の発生
 10・3 問題表現
 10・4 応用例
 第10章 演習

第11章 検索
 11・1 順次検索
 11・2 2分探索法
  1 2分探索の手順  2 2分探索法の解析
 11・3 2分木探索
  1 2分木探索の手順  2 2分木探索の解析
 11・4 ハッシュ検索
  1 チェーン法  2 オープンアドレス法
 11・5 データがディスクにあるとき
 11・6 範囲検索
  1 全てのデータを順次に調べる  2 2次インデックス  3 グリッド法  4 2次元ツリー法
 第11章 演習


索引


戻る