環境情報学科 オブジェクト指向設計論 (環境情報学科3年次前期配当 火曜日3限)


 ●それなりのプログラムを作るためには
 ・それなりの機能を持ったプログラムを作るためには,複数のデータをプログラム内で
  記録しておき,特定のデータが必要になったときに取り出す,といったようにデータ
  を維持,管理しなければならない。

 ●データ構造
 ・データ構造とは
   「複数のデータの格納場所とその格納方式」のことを,データ構造(data structure)と呼ぶ。
   ※特に断らない限り,データ構造がメモリ上にあることを前提とする。

   データ構造には
     ・配列 (array, 線形リスト)
     ・リスト (linked list, 連結リスト)
   などの種類があり,それぞれに特徴があるので,用途に合わせて使い分ける。

 ・アルゴリズムとは
   「データを処理する手順」のことを,アルゴリズム(algorithm)と呼ぶ。日本語
   では,算法と呼ぶこともある。同じことを実現するにも,効率の良いアルゴリズ
   ムもあれば,効率の悪いアルゴリズムもある。

 ・アルゴリズムとデータ構造
   データ構造は,その種類ごとにそれぞれ特徴があるので,同じ操作を実現する
   にも,それぞれのデータ構造に相性の良いアルゴリズムがある
   また,ある操作を実現するために必要とされるデータ構造もある。

   データ構造への操作の代表的なものに
     ・新しい要素の挿入 (Insert)
     ・特定の要素の削除 (delete)
     ・特定の要素の検索 (search, 探索)
     ・特定の基準に従って要素を並べ替える整列 (sort, ソート)
   などがある。

 ・流れ図
   アルゴリズム(処理の手順)を分かりやすく視覚化したものに,流れ図(flow chart, フローチ
   ャート)
がある。
     

 ・コンピュータで実行可能なアルゴリズムなら,
    (1)順次処理   (テキスト1では,「直線型」,「連続型」)
    (2)条件分岐処理 (テキスト1では,「分岐型」,「選択型」)
    (3)繰り返し処理 (テキスト1では,「繰り返し型」,「反復型」)
  の3つの処理で構成できることが証明されている。

 ●配列とリストを理解することの重要性
  配列とリストという2つのデータ構造の特徴を理解することで,データ構造とアルゴリズムの
  基本的な関係が把握できる


 ●コレクションフレームワーク
 ・そして,Javaにはデータ構造のことを「コレクション(collection)」と呼び,コレクション
  フレームワークという便利なデータ構造を数種類集めたクラス群が用意されている。
  例)高機能な配列として働く Vectorクラス,リストとして働くLinkedList




戻る