定本 Cプログラマのためのアルゴリズムとデータ構造 3-1

今度はデータ構造だ。

用語

  • 擬似コーディング
  • 擬似プログラム
  • 段階的詳細化(stepwise refinement)

抽象データ型(abstract data type)

データの型とその型に対する一連の操作の組

  • 例、「整数の集合」と「和集合をとる操作」の組

抽象データ型に含まれる操作は、別の抽象データ型のデータをパラメタに取れる

抽象データ型の特徴

  • 「データの持つべき性質」と「データに施せる操作」を表す
  • データの実際の表現方法や、実際の操作については一切規定されていない

カプセル化(encapsulation)

データとそのデータに対する操作手続きの組にすることを、カプセル化という。

カプセル化すると

  • 用意された操作を利用しなければデータの参照・変更ができなくなる。
  • プログラムの保守開発が楽になる
  • 計算量を改善する際に、プログラム全体ではなく抽象データ型の実現部分にのみ手を触れればよくなる。